Windows 7 CMD
Mit dem folgenden Befehl kann ich eine Liste der Dateien abrufen dir /b | find "TENDER_NUM 2"
. Ich versuche, alle von find zurückgegebenen Dateien in einen anderen Ordner zu kopieren.
Ich habe es versucht:
for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\
Was aber nicht funktionierte.
EDIT 1: Die Fehlermeldung lautet unexpected |
, was vermutlich von derdir/b | Findstr
EDIT 2: Ja, dir_to_copy\ existiert
Antwort1
Fehlermeldung „Unerwartet“|
for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\
Der obige Befehl enthält mehrere Fehler.
Sie müssen das
|
Sonderzeichen mit folgendem Zeichen maskieren^
:^|
Sie müssen
dir /b | findstr "TENDER_NUM 2"
Folgendes in einfache Anführungszeichen setzen'
:'dir /b ^| findstr "TENDER_NUM 2"'
Sie müssen
for /f
stattdessen Folgendes verwendenfor /r
:für /f-Befehl mit den Ergebnissen eines anderen Befehls wiederholen.
für /r- Durch Dateien blättern (Unterordner rekursiv durchsuchen).
Verwenden Sie den folgenden Befehl von einer cmd
Shell aus:
for /f %x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%x" dir_to_copy\
In einer Batchdatei (ersetzen %
durch %%
):
for /f %%x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%%x" dir_to_copy\
Weitere Informationen
- Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.
- für /f- Befehl mit den Ergebnissen eines anderen Befehls wiederholen.
- für /r- Durch Dateien blättern (Unterordner rekursiv durchsuchen).
- Syntax- Escape-Zeichen, Trennzeichen und Anführungszeichen.