Windows 7'de AAA_a001.jpg
, BBB_a002.jpg
, CCC_a003.jpg
gibi bazı dosyalarım var
ve bu dosyaları a001_AAA.jpg
, a002_BBB.jpg
, a003_CCC.jpg
olarak yeniden adlandırmak için toplu iş kullanmaya çalışıyorum.
Sadece _
arasındaki içeriği değiştirmek için.
Bir süredir araştırıyorum ama hala bunu nasıl yapacağımı bilmiyorum. Biri yardım edebilir mi? Teşekkürler.
REN` Komutunu Kullanın
Ren
, yeniden adlandır
içindir
ren ( where the file is located ) ( the new name )
örnek
ren C:\Users\&username%\Desktop\aaa.txt bbb.txt
aaa.txt dosyasını bbb.txt olarak değiştirecektir
Kodunuz şöyle olacak:
ren (file located)AAA_a001.jpg a001.AAA.jpg
ren (file located)BBB_a002.jpg a002.BBB.jpg
ren (file located)CCC_a003.jpg a003.CCC.jpg
ve bunun gibi
IT WILL NOT WORK IF THERE IS SPACES!
Umarım yardımcı olur :D
@echo off
pushd "pathToYourFolder" || exit /b
for /f "eol=: delims=" %%F in ('dir /b /a-d *_*.jpg') do (
for /f "tokens=1* eol=_ delims=_" %%A in ("%%~nF") do ren "%%F" "%%~nB_%%A%%~xF"
)
popd
Not: İsim _
harfinin ilk geçtiği yerde bölünür. Bir dosya "part1_part2_part3.jpg" olarak adlandırılmışsa, "part2_part3_part1.jpg" olarak yeniden adlandırılacaktır;
Alt çizgiden önceki ve sonraki kısmın uzunluğunu ve uzantıyı bildiğinizi varsayıyorum. Eğer bilmiyorsanız, basit bir alt dizeden daha karmaşık olabilir.
cd C:\path\to\the\files
for /f %%a IN ('dir /b *.jpg') do (
set p=%a:~0,3%
set q=%a:~4,4%
set b=%p_%q.jpg
ren %a %b
)
Bu betiği yeni buldum ve test etmedim. Daha fazla bilgi için this ve that adreslerine göz atın.
Eğer _' harflerinin konumlarını, uzunluklarını ve uzantılarını bilmediğinizi varsaymak istiyorsanız, sanırım
_' harfinin indeksini ve ardından .
harfinin son indeksini kontrol etmek için for döngüleriyle bir şeyler yapabilir, bunu bir `goto' şeyine sarabilir ve çalışmasını sağlayabilirsiniz. Eğer bu zahmete girmek istiyorsanız, en azından WindowsPowerShell (ya da Cygwin) kullanmanızı (kendi iyiliğiniz için) ya da daha gelişmiş bir betik dili (Python/Perl gibi) yüklemenizi öneririm, her iki şekilde de daha fazla destek alırsınız.