Aqui tienes una mini mini funcion:
:: By Elektro H@cker
REM Modo de empleo:
REM
REM Call :XCOPY "[RUTA DE ORIGEN]" "[EXTENSION]" "[RUTA DE DESTINO] [OPCIONES de XCOPY]"
REM
REM Ejemplo:
REM
REM Call :XCOPY "C:\Windows\System32" "dll" "C:\"
REM Echo %Copied%
:XCOPY
For /F "tokens=*"
%%#
in ('XCopy
%4 "
%~1\*.
%~2" "
%~3"
^| FIND /V ""
^| Find /V /C "copiado
(s
)"'
) Do (Set "Copied=
%Copied%,
%%#.
%~2"
)
Un bat de ejemplo para resolverte las dudas:
Call :
XCOPY "C:\Windows" "exe" "C:\test" /Y
Call :
XCOPY "C:\Windows" "ini" "C:\test" /-Y
Call :
XCOPY "C:\Windows" "dll" "C:\test"
:XCOPY
For /F "tokens=*"
%%#
in ('XCopy
%4 "
%~1\*.
%~2" "
%~3"
^| FIND /V ""
^| Find /V /C "copiado
(s
)"'
) Do (Set "Copied=
%Copied%,
%%#.
%~2"
)
:FIN
Echo %copied:~2% Fueron copiados.
output:
8.exe, 5.ini, 2.dll Fueron copiados.
Si prefieres algo más sencillo, menos elaborado:
For /F "tokens=1,* Delims= "
%%#
in ('XCopy /Y "C:\Windows\*.
%EXT%" "C:\Test"
^| Find "copiado
(s
)"'
) Do (Set "Copied=
%COPIED%,
%%# archivos .
%ext%"
)
For /F "tokens=1,* Delims= "
%%#
in ('XCopy /Y "C:\Windows\*.
%EXT%" "C:\Test"
^| Find "copiado
(s
)"'
) Do (Set "Copied=
%COPIED%,
%%# archivos .
%ext%"
)
:FIN
Echo %copied:~2% Fueron copiados.
output:
5 archivos .ini, 8 archivos .exe Fueron copiados.
Salu2