
¿Alguien puede enseñarme cómo obtener solo el nombre del archivo usando un archivo por lotes? Necesito hacer un bucle para comprobar si existe en otra carpeta para no tener que copiarla.
Respuesta1
En el siguiente FOR
bucle obtienes el nombre del archivo y la extensión:
for %%f in ("C:\Source\*") do ( echo File: %%~nxf )
Para verificar si su archivo existe en el directorio de destino y copiarlo si no es así:
for %%f in ("C:\Source\*") do (
if not exist "C:\Target\%%~nxf" (
echo Copy from source to target: %%~nxf
copy "%%f" "C:\Target\%%~nxf" )
)
Para obtener más FOR
parámetros de bucle, consulte FOR /?
en la línea de comando.