arquivo em lote para mover arquivos de subdiretórios para diretório raiz com substituição de arquivos com conflitos de nome

arquivo em lote para mover arquivos de subdiretórios para diretório raiz com substituição de arquivos com conflitos de nome

Então, solicitando ajuda, estou tentando resolver uma bagunça nas minhas fotos do Google. Baixei o arquivo das minhas fotos do Google e tenho várias pastas com arquivos/fotos. Estou tentando escrever um arquivo em lote para mover os arquivos/fotos da pasta para a raiz desta unidade portátil que estou usando para a limpeza.

Até agora eu tenho isso:

@echo off
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" .
for /f "tokens=*" %%f in ('dir /a:D /s /b') do rd "%%f"

Funciona, o único problema que tenho é que potencialmente pode haver fotos com o mesmo nome de arquivo em pastas diferentes e não quero sobrescrever.

Existe algum parâmetro que eu possa definir no comando mover para bloquear a substituição?

Obrigado

Responder1

Existe algum parâmetro que eu possa definir no comando mover para bloquear a substituição?

Você pode usar a /-Yopção (Ativar prompt de confirmação ao substituir arquivos).

O truque a seguir responderá n, para que a mudança não aconteça:

echo n|move /-y "%%f" .

Notas:

  • Este truque só funciona para um único arquivo, sem curingas

  • Se um arquivo fornãomovido, seu seguinte rdcomando falhará com o seguinte erro:

    The directory is not empty.
    

Leitura adicional

informação relacionada