Windows XCOPY-Ergebnisse vom Befehl FIND

738
Bardworx

Windows 7 CMD

Ich kann eine Liste von Dateien mit dem folgenden Befehl abrufen dir /b | find "TENDER_NUM 2". Ich versuche, alle Dateien, die von find zurückgegeben wurden, 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 nicht funktionierte

EDIT 1: Fehlermeldung besagt unexpected |, von der ich annehme, dass sie von kommtdir/b | Findstr

EDIT 2: Ja, dir_to_copy \ existiert

1
Welche Fehlermeldung erhalten Sie? DavidPostill vor 8 Jahren 0
Gibt es `dir_to_copy`? DavidPostill vor 8 Jahren 0
@DavidPostill - aktualisierte Frage mit beiden Antworten Bardworx vor 8 Jahren 0
Siehe meine Antwort ... DavidPostill vor 8 Jahren 0

1 Antwort auf die Frage

1
DavidPostill

Fehlermeldung sagt unerwartet |

for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\ 

Der obige Befehl enthält mehrere Fehler.

  1. Sie müssen die entkommen |Sonderzeichen verwenden ^:

    ^| 
  2. Sie müssen in dir /b | findstr "TENDER_NUM 2"einfache Anführungszeichen einschließen ':

    'dir /b ^| findstr "TENDER_NUM 2"' 
  3. Sie müssen for /fanstelle von verwenden for /r:

    for / f - Schleifenbefehl gegen die Ergebnisse eines anderen Befehls .

    for / r - Durchlaufen Dateien (Recurse-Unterordner).

Verwenden Sie den folgenden Befehl aus einer cmdShell:

for /f %x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%x" dir_to_copy\ 

In einer Batchdatei (ersetzen %mit %%):

for /f %%x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%%x" dir_to_copy\ 

Lesen Sie weiter

  • Ein AZ-Index der Windows-CMD-Befehlszeile - Eine hervorragende Referenz für alles, was mit Windows-Cmd-Zeilen in Verbindung steht.
  • for / f - Schleifenbefehl gegen die Ergebnisse eines anderen Befehls.
  • for / r - Durchlaufen Dateien (Recurse-Unterordner).
  • Syntax - Escape-Zeichen, Trennzeichen und Zitate.
Vielen Dank David, dies ist mein erster Streifzug in Windows CMD und das Lesematerial wird sehr geschätzt. Bardworx vor 8 Jahren 0
Du bist sehr willkommen. Viel Spaß beim Lesen! :) DavidPostill vor 8 Jahren 0