
Alguém pode me ensinar como obter apenas o nome do arquivo usando arquivo em lote? Preciso fazer um loop para verificar se existe em outra pasta para não precisar copiar.
Responder1
No FOR
loop a seguir você obtém o nome do arquivo e a extensão:
for %%f in ("C:\Source\*") do ( echo File: %%~nxf )
Para verificar se o seu arquivo existe no diretório de destino e copie se não existir:
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 mais FOR
parâmetros de loop, consulte FOR /?
na linha de comando.