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 /f
em 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.