Die Erweiterung .fw.png in einem anderen Programm als .png öffnen?

1071
firefusion

Ich möchte, dass Dateien, die auf enden .fw.png, in Adobe Fireworks geöffnet werden, aber ich möchte, dass reguläre .pngDateien in meinem Standard-Bildbetrachterprogramm geöffnet werden.

Ist das möglich?

3
** Um alle Abstimmungen abzuschließen **: Anfangs dachte ich, diese Frage sei ein exaktes Duplikat, aber bei weiterer Überprüfung unterscheidet sich die Frage deutlich genug, um eine neue Frage zu rechtfertigen. Breakthrough vor 12 Jahren 1
Kein Dummkopf. Die vorgeschlagene Frage bezieht sich auf Dateien mit genau derselben Erweiterung. das ist anders. Hello71 vor 12 Jahren 0

1 Antwort auf die Frage

7
Breakthrough

Bei Verwendung eines AutoIt-Skripts sollte Folgendes ausgeführt werden, was Sie möchten:

$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 

Damit dies für Ihren Fall funktioniert, müssen Sie diese Konstanten oben in die entsprechenden ausführbaren Dateien ändern, die Sie starten möchten. Installieren Sie dann AutoIt und kompilieren Sie das Skript in eine EXE-Datei. Legen Sie es an einem Ort ab, an dem sich ein Kloster befindet, und legen Sie fest, dass Windows .PNG-Dateien mit dieser ausführbaren Datei öffnet.

Ich habe diesen Code noch nicht getestet, aber es sieht gut aus. Das kompilierte Programm führt Folgendes aus:

  1. Prüfen Sie, ob das erste Argument (falls vorhanden) mit .fw.png endet (es wird davon ausgegangen, dass Sie die ausführbare Datei nur mit einem .PNG ausführen, um damit zu beginnen). Wenn dies der Fall ist, wird die Fireworks-Programmdatei gestartet. Andernfalls wird der normale Viewer gestartet.

  2. Alle Befehlszeilenargumente werden dann der jeweiligen Anwendung erneut als Argumente hinzugefügt.

  3. Die Anwendung wird über die AutoIt- Run()Funktion im aktuellen Arbeitsverzeichnis aufgerufen .


Wenn genügend Leute interessiert sind, kann ich ein komplettes Programm erstellen, um dies für einen beliebigen Satz von (verschachtelten) Dateierweiterungen zu tun.

In Zeile 9 ist ein Syntaxfehler aufgetreten. Nach "StringLen ($ CmdLine [1])> = 7" gibt es einen verirrten Close-Paren. Ansonsten kompiliert und funktioniert es wie ein Zauber, danke. Rob vor 8 Jahren 0
@Rob guter Fang, danke - ich habe die Antwort entsprechend aktualisiert. Breakthrough vor 8 Jahren 0