Copiar archivos con un comodín desde y hacia directorios que tienen un comodín

Copiar archivos con un comodín desde y hacia directorios que tienen un comodín

Quiero copiar archivos con varios nombres y extensiones, desde un directorio cuyo nombre tiene una raíz determinada pero puede tener un sufijo, a un directorio diferente.

Un bucle for parece funcionar para el comodín del directorio, pero parece impedir un comodín para el nombre del archivo. Esto es lo que tengo en el archivo por lotes:

SET /P M= ENTER THE TEST #
MKDIR "S:\Photometric\Experimental\E%M%"
COPY "S:\Photometric\Approved\%M%*\*.*" "S:\Photometric\Experimental\E%M%*"

Cualquier ayuda es muy apreciada.

Respuesta1

Prueba esto:

@ECHO OFF
SETLOCAL EnableDelayedExpansion

SET source_dir=S:\Photometric\Approved
SET target_dir=S:\Photometric\Experimental\E

SET /P M= ENTER THE TEST #
FOR /D /R %%G IN ("%source_dir%") DO (
    SET "folder_name=%%G"
    ECHO !folder_name! | FINDSTR /R "%M%" >nul && CALL :get_folder_name
    ECHO !folder_name! | FINDSTR /B /R "%M%" >nul && ROBOCOPY "%source_dir%\!folder_name!" "%target_dir%\!folder_name!" /S
)


ECHO. & ECHO. & ECHO. & ECHO. & ECHO. & ECHO Done^^!
PAUSE
EXIT


:get_folder_name
SET folder_name=!folder_name:*\%M%=%M%!

SET endbit=!folder_name:*\=!
SET folder_name=!folder_name:%endbit%=!
SET folder_name=!folder_name:~0,-1!
EXIT /B

Esto buscará source_diry copiará todos los archivos y subcarpetas de cada carpeta que coincidan %M%con el archivo target_dir.

Probablemente esta no sea la forma más efectiva de lograrlo, pero como la /XDopción ROBOCOPYno funciona con comodines, no se me ocurre nada mejor.

información relacionada