Wie Dateinamen zu aktuellen Verzeichnis in Batch-Datei anhängen?
-
21-08-2019 - |
Frage
Ich möchte eine Datei im aktuellen Verzeichnis suchen, von dem der Batch ausgeführt wird, fügen Sie den Dateinamen in das Verzeichnis und umfassen das gesamte Verzeichnis als Teil des Befehls, dass.
So .....
Verzeichnis:
C: \ tempfiles \ Batch
Dateien in C: \ tempfiles \ Batch tmp1.txt tmp2.txt tmp3.txt anyname.exe
Ich möchte die Batch-Datei, aus dem Verzeichnis ausführen, um jede EXE-Datei zu finden und es zu dem Verzeichnisnamen anhängen, und verwenden Sie diese neue Zeichenfolge als Teil eines Befehls die EXE-Datei über in ein anderes Verzeichnis zu kopieren. Der Befehl wird schließlich wie folgt gelesen werden (die FILETRANSFERSW.exe ist die File-Transfer-Software, die auch in dem Verzeichnis ist):
C: \ tempfiled \ Batch> FILETRANSFERSW.exe "% CD% \ tmp4.exe" X: \ dest
Die EXE-Datei Name wird so zu ändern, muss ich dynamisch den neuen Dateinamen in den obigen Befehl jedes Mal wenn ich die Batchdatei hinzufügen. Irgendwelche Ideen ??
Lösung
Wenn ich dein Problem richtig gelesen, genügt es, „für“ Schlüsselwort die zu benutzen?
for %a in (*.exe) do FILETRANSFERSW.exe %a X:\dest
Sie können die Ausgabe mit etwas testen harmlos wie:
for %a in (*.exe) do echo [[%a]]
% a endet iterieren * .exe im aktuellen Verzeichnis, die vollständigen Dateinamen für jeden zurück.