Ich gehe davon aus, dass dies ziemlich einfach ist, aber ich habe keine Erfahrung mit Windows-Befehlszeilendienstprogrammen. Grundsätzlich muss ich alle Dateien in einem Verzeichnis durchlaufen (großartig, wenn es Unterverzeichnisse kann, aber ich kann es bei Bedarf in jedem der 5 Verzeichnisse ausführen), den Namen als Variable abrufen und ausführen lassen
"C:\Program Files\ImageMagick-6.7.6-Q16\convert.exe" -compress LZW
-colorspace Gray -colors 32 file_var file_var
Ich habe in einer Eingabeaufforderung für loop gesehen, dass Dateien dynamisch benannt werden . Wäre ich in der Lage, das zu verwenden (das SET zu tauschen ... mit dem obigen Befehl)? Der Speicherplatz auf dem betreffenden Computer ist unbeschränkt, daher kann ich zu diesem Zeitpunkt keine Sicherungskopie erstellen, bevor dies ausgeführt wird (ich weiß, dass dies nicht der Fall ist).
windows
command-line
imagemagick
Robert
quelle
quelle
"%%f" "%%f"
das genau das ist, was Sie wollen. Am Ende von it ( ) wird nur der Dateiname (mit vollständig qualifiziertem Pfad) zweimal platziert. Sie möchten wahrscheinlich etwas verwenden"%%f" "%%~dpnf.gif"
, um die Erweiterung der Ausgabedatei zu ändern.Antworten:
Seltsam, es gab eine Antwort, die den rekursiven Teil hatte.
Nun, pro Durchlaufen von Dateien, die mit Wildcard in Batch-Datei übereinstimmen , konnte ich dies erreichen. So wurde es durchgeführt:
quelle
Öffnen Sie PowerShell
Get-ChildItem ruft eine Liste von Dateien als Objekte aus dem aktuellen Unterverzeichnis ab. "-recurse" enthält Unterverzeichnisse. Dies platziert es in ein Array $ Files.
Die foreach-Schleife durchläuft jede Datei und ruft den Editor mit dem Befehlszeilenargument des vollständigen Dateinamenpfads zu jeder Datei auf.
ACHTUNG: Testen Sie den obigen Code in einem Verzeichnis mit einigen kleinen Textdateien, da dadurch für jede Datei eine Instanz von Notepad geöffnet wird.
Das sollte Ihnen eine Vorstellung davon geben, wie Sie vorgehen sollen, was Sie tun möchten.
quelle