plik wsadowy do przenoszenia plików z katalogów podrzędnych do katalogu głównego z nadpisywaniem plików z konfliktami nazw

2

Więc prosząc o pomoc, obecnie próbuję uporządkować bałagan na moich zdjęciach Google. Pobrałem archiwum moich zdjęć Google i mam kilka folderów z plikami / zdjęciami. Próbuję napisać plik wsadowy, aby przenieść pliki / zdjęcia z folderu do katalogu głównego tego przenośnego dysku, którego używam do czyszczenia.

Do tej pory mam to:

@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"

Działa jedyny problem, jaki mam, ponieważ potencjalnie mogą istnieć zdjęcia o tej samej nazwie pliku w różnych folderach i nie chcę nadpisywać.

Czy istnieje parametr, który można ustawić w poleceniu move, aby zablokować nadpisywanie?

Dzięki

ElGabbu
źródło
Dzięki, widzę teraz komunikat potwierdzający, ale nie jest to dokładnie to, czego potrzebuję, muszę złożyć plik, aby nadal się przenieść i po prostu zmienić nazwę pliku, tak jak dodanie liczby
ElGabbu
Zmiana pytania po otrzymaniu odpowiedzi jest nieodpowiednia, ponieważ unieważnia otrzymane odpowiedzi. Może nawet sprawić, że te odpowiedzi będą błędne i negatywnie wpłyną na reputację tych, którzy odpowiedzieli. Jeśli masz teraz nowe lub dodatkowe pytanie, utwórz nowy post i zadaj go tam; w razie potrzeby możesz odwołać się do tego linku.
DavidPostill
@DavidPostill Utworzyłem nowe pytanie tutaj superuser.com/questions/1077934/...
ElGabbu

Odpowiedzi:

0

Czy istnieje parametr, który można ustawić w poleceniu move, aby zablokować nadpisywanie?

Możesz użyć /-Yprzełącznika (Włącz monit o potwierdzenie, gdy nadpisujesz pliki).

Następująca sztuczka odpowie n, więc ruch nie nastąpi:

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

Uwagi:

  • Ta sztuczka działa tylko dla jednego pliku, bez symboli wieloznacznych

  • Jeśli plik nie zostanie przeniesiony, następujące rdpolecenie zakończy się niepowodzeniem z następującym błędem:

    The directory is not empty.
    

Dalsza lektura

DavidPostill
źródło
dzięki, czy jest jakiś sposób, aby wykonać ruch, ale nieznacznie zmienić nazwę pliku ... jak dodać numer przed rozszerzeniem
ElGabbu
Tak. Ale to wymaga dużo więcej pracy.
DavidPostill