Сделать расширение .fw.png открытым в другой программе .png?

975
firefusion

Я хочу, чтобы файлы, заканчивающиеся .fw.pngна, открывались в Adobe Fireworks, но я хочу, чтобы обычные .pngфайлы открывались в моей стандартной программе просмотра изображений.

Это возможно?

3
** Чтобы все голосование было закрыто **: Первоначально я думал, что этот вопрос является точным дубликатом, но при дальнейшем рассмотрении вопрос задается достаточно существенно, чтобы оправдать новый вопрос. Breakthrough 12 лет назад 1
Не дурак. Предлагаемый вопрос для файлов с точно таким же расширением; это другое. Hello71 12 лет назад 0

1 ответ на вопрос

7
Breakthrough

Используя скрипт AutoIt, следующее должно выполнить то, что вы хотите:

$FIREWORKS = "C:/Program Files/Fireworks.exe" $NORMALVWR = "C:/WindowsPictureViewer.exe"  If $CmdLine[0] > 0 Then $toRun = "" $fExt = StringRight($CmdLine[1], 7)  ; First, we set $toRun as the proper target program to run. If StringLen($CmdLine[1]) >= 7 And _ StringRight($fExt, 4) = ".png" And _ StringLeft(StringRight($fExt, 7), 3) = ".fw" Then $toRun = $FIREWORKS Else $toRun = $NORMALVWR  EndIf  ; Next, we append all command line arguments (with a space before each one). For $i = 1 To $CmdLine[0] $toRun &= ' "' & $CmdLine[$i] & '"' ; We surround each with quotation marks. Next  ; Finally, run the command in the current working directory. Run($toRun, @WorkingDir) ; Since the Run() function is asynchronous, this program should close right after. EndIf 

Чтобы это работало в вашем случае, вам нужно изменить эти константы вверху на соответствующие исполняемые файлы, которые вы хотите запустить. Затем установите AutoIt и скомпилируйте скрипт в файл .EXE. Поместите его в обычное место и настройте Windows для открытия файлов .PNG с этим исполняемым файлом.

Я еще не тестировал этот код, но, похоже, он должен работать нормально. Для справки, скомпилированная программа сделает следующее:

  1. Проверьте, заканчивается ли первый аргумент (если он существует) в .fw.png (предполагается, что вы запускаете только исполняемый файл с .PNG для начала). Если это так, запускается исполняемый файл Fireworks, в противном случае запускается обычный просмотрщик.

  2. Все аргументы командной строки затем снова добавляются в качестве аргументов в соответствующее приложение.

  3. Приложение вызывается через Run()функцию AutoIt в текущем рабочем каталоге.


Если заинтересованным людям достаточно, я могу создать полную программу для любого произвольного набора (вложенных) расширений файлов.

У вас есть синтаксическая ошибка в строке 9, после "StringLen ($ CmdLine [1])> = 7" есть случайное закрытие. Кроме того, он компилируется и работает как шарм, спасибо. Rob 8 лет назад 0
@Rob хороший улов, спасибо - я обновил ответ соответственно. Breakthrough 8 лет назад 0