Dodaj 1 znak na początku każdej nazwy pliku


2

Chcę umieścić 1 znak na początku każdej nazwy pliku jpg. Zrobiłem ten plik wsadowy:

for %%A in (*.jpg) do ren "%%~A" s"%%~nA%%~xA"

Działa to prawie idealnie, ale pierwszy plik jest przetwarzany dwukrotnie:

ssNL201501
sNL201502
sNL201503

Co robię źle?

Odpowiedzi:


3

Działa to prawie idealnie, ale pierwszy plik jest przetwarzany dwukrotnie

for %%A in (*.jpg) do ren "%%~A" s"%%~nA%%~xA"

Musisz użyć:

for /f %%A in ('dir /b *.jpg') do ren "%%~A" s"%%~nA%%~xA"

Jak wyjaśnia dbenham w swojej odpowiedzi, aby dodać „tekst” na końcu wielu nazw plików :

Pamiętaj, że korzystanie z niego jest bardzo ważne, FOR /Fa nie proste FOR. FOR /FGromadzi całą wynik DIRpolecenia przed rozpoczęciem iteracji, natomiast prosta FORzaczyna iteracji po bufor wewnętrzny jest pełny, który dodaje ryzyko zmiany nazwy tego samego pliku wielokrotnie.


Dalsza lektura

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.