Resultados de Windows XCOPY del comando FIND

Resultados de Windows XCOPY del comando FIND

CMD de Windows 7

Puedo recuperar una lista de archivos con el siguiente comando dir /b | find "TENDER_NUM 2". Estoy intentando copiar todos los archivos devueltos por buscar en otra carpeta.

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

Lo cual no funcionó.

EDITAR 1: El mensaje de error dice unexpected |, que supongo proviene deldir/b | Findstr

EDITAR 2: Sí, dir_to_copy\ existe

Respuesta1

El mensaje de error dice inesperado|

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

Hay varios errores en el comando anterior.

  1. Debes escapar del |carácter especial usando ^:

    ^|
    
  2. Debe encerrar entre dir /b | findstr "TENDER_NUM 2"comillas simples ':

    'dir /b ^| findstr "TENDER_NUM 2"'
    
  3. Necesitas usar for /fen lugar de for /r:

    para /f-Comando de bucle contra los resultados de otro comando.

    para /r- Recorrer archivos (subcarpetas recursivas).

Utilice el siguiente comando desde un cmdshell:

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

En un archivo por lotes (reemplazar %con %%):

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

Otras lecturas

información relacionada