Odpowiedzi:
for %a in (*) do ren "%a" "00_%a"
Uwagi:
for
jak wyżej nie jest zalecane.Użyj następujących cmd
poleceń w powłoce:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
W pliku wsadowym (wymienić %
z %%
):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Uwaga:
Jest krytyczny , że używasz
FOR /F
, a nie prostegoFOR
.W
FOR /F
gromadzi całą wynikuDIR
polecenia zanim rozpocznie Iterowanie, natomiast prostaFOR
zaczyna Iterowanie po bufor wewnętrzny jest pełny, który dodaje ryzyko zmiany nazwy tego samego pliku wielokrotnie.
jak zalecił dbenham w swojej odpowiedzi, aby dodać „tekst” na końcu wielu nazw plików :
Aby wykonać pętlę For dla folderów (katalogów) zamiast plików, wystarczy włączyć /D
przełącznik.
for /D %a in (*) do ren "%a" "00_%a"
Od for /?
:
FOR / D% zmienna IN (zestaw) DO polecenie [parametry-polecenia]
If set contains wildcards, then specifies to match against directory names instead of file names.
ren
działa na folderach. Ograniczeniem jest to, że „nie można określić innego dysku lub ścieżki dla celu.
Ren
.
for /d
może również występować problem z wielokrotnym przetwarzaniem wartości (zobacz także moją odpowiedź).