como obter nomes de arquivos apenas para copiar para outra pasta usando o arquivo em lote cmd

como obter nomes de arquivos apenas para copiar para outra pasta usando o arquivo em lote cmd

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 FORloop 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 FORparâmetros de loop, consulte FOR /?na linha de comando.

informação relacionada