Mensagem de erro diz | inesperado
for /r %x in (dir /b | findstr "TENDER_NUM 2") do copy "%x" dir_to_copy\
Existem vários erros no comando acima.
-
Você precisa escapar do caractere
|especial usando^:^| -
Você precisa colocar
dir /b | findstr "TENDER_NUM 2"entre aspas simples':'dir /b ^| findstr "TENDER_NUM 2"' -
Você precisa usar
for /fem vez defor /r:para / f - Comando Loop contra os resultados de outro comando .
para / r - Fazer um loop pelos arquivos (criar subpastas).
Use o seguinte comando em um cmd shell:
for /f %x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%x" dir_to_copy\
Em um arquivo de lote (substitua % por %% ):
for /f %%x in ('dir /b ^| findstr "TENDER_NUM 2"') do copy "%%x" dir_to_copy\
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- para / f - Comando Loop contra os resultados de outro comando.
- para / r - Fazer um loop pelos arquivos (criar subpastas).
- sintaxe - Escape Characters, Delimiters e Quotes.