Zmień nazwy plików za pomocą cmd i zezwól na duplikaty nazwy pliku

0

Mam plik wsadowy, który składa się z następującego polecenia.

REN "H:\April2012\A04\mr_sudheendra_holla_vaderhobli.pdf.1335780379203.ver1" "mr_sudheendra_holla_vaderhobli.pdf"

Ale jeśli istnieją duplikaty plików, polecenie nie zostanie wykonane. Chciałbym, aby moje polecenie zmieniło nazwę pliku na *(1).pdf i *(2).pdf itd., jeśli są duplikaty. Jak mogę to zrobić?

TechSupport
źródło

Odpowiedzi:

0

## Możemy również użyć TIMESTAMP: ##

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" & set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%-%MS%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
Xcopy /s "D:\folder1\test.xls" "D:\folder2\test_%fullstamp%.xls"
pause

Jest to prosta metoda tworzenia kopii zapasowych. Na przykład, jeśli modyfikujesz plik ponownie (powiedz: D: folder1.xls) i wymagane jest zapisanie jego kopii po wielu edycjach (w folderze: D: folder2). xls). Następnie możemy użyć znacznika czasu w nazwie pliku (D: folder2 i% fullstamp% .xls), który nie zastąpi starszych kopii zapasowych.

DOREMON NOBITA
źródło
Uzupełnij swoją odpowiedź wyjaśnieniami ...
Attie
Jest to prosta metoda tworzenia kopii zapasowych. Na przykład, jeśli modyfikujesz plik jeszcze raz (powiedz: D: folder1.xls) i wymagane jest zapisanie jego kopii po wielu edycjach (w folderze: D: folder2). xls). Następnie możemy użyć znacznika czasu w nazwie pliku (D: folder2 i% fullstamp% .xls), który nie zastąpi starszych kopii zapasowych.
DOREMON NOBITA