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 /-Y
opçã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
rd
comando falhará com o seguinte erro:The directory is not empty.
Leitura adicional
- Um índice AZ da linha de comando do Windows CMD- Uma excelente referência para todas as coisas relacionadas à linha cmd do Windows.
- mover- Mova um arquivo de uma pasta para outra.
- terceiro- Excluir pasta(s).