Jak dodać prefiks do wszystkich plików i folderów w folderze? (Windows)


14

Następujące polecenie zmienia tylko nazwy plików, ale nie folderów.

for %a in (*) do ren "%a" "00_%a"


Czy absolutnie musisz użyć pliku wsadowego? Czy nie możesz użyć do tego programu takiego jak Rename Master?
Dour High Arch

Odpowiedzi:


15

Następujące polecenie zmienia tylko nazwy plików, ale nie folderów.

for %a in (*) do ren "%a" "00_%a"

Uwagi:

  • Używanie forjak wyżej nie jest zalecane.
  • Istnieje możliwość wielokrotnej zmiany nazwy plików.
  • Zobacz poniżej powód dlaczego.

Użyj następujących cmdpoleceń 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 prostego FOR.

W FOR /Fgromadzi całą wyniku DIRpolecenia zanim rozpocznie Iterowanie, natomiast prosta FORzaczyna 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 :


Dalsza lektura


0

Aby wykonać pętlę For dla folderów (katalogów) zamiast plików, wystarczy włączyć /Dprzełą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.

rendziała na folderach. Ograniczeniem jest to, że „nie można określić innego dysku lub ścieżki dla celu.
DavidPostill

@DavidPostill Tak, to był stary nawyk wkradający się, zmieniłem go z powrotem na Ren.
ᴇcʜιᴇ007

Możesz zrobić zarówno pliki, jak i foldery za pomocą jednego polecenia (patrz moja odpowiedź). Podejrzewam, że for /dmoże również występować problem z wielokrotnym przetwarzaniem wartości (zobacz także moją odpowiedź).
DavidPostill
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.