Saya memiliki beberapa file seperti AAA_a001.jpg
, BBB_a002.jpg
, CCC_a003.jpg
di Windows 7
dan saya mencoba menggunakan batch untuk mengganti nama file-file ini menjadi a001_AAA.jpg
, a002_BBB.jpg
, a003_CCC.jpg
.
Hanya untuk menukar konten antara _
.
Saya telah mencari-cari beberapa saat, tetapi masih belum tahu bagaimana melakukan ini. Adakah yang bisa membantu? Terima kasih.
Gunakan Perintah REN
Ren
adalah untuk rename
ren ( where the file is located ) ( the new name )
contoh
ren C:\Users\&username%\Desktop\aaa.txt bbb.txt
itu akan mengubah aaa.txt menjadi bbb.txt
Kode Anda akan menjadi:
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
dan seterusnya
IT WILL NOT WORK IF THERE IS SPACES!
Semoga membantu :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
Catatan: Nama dipisah pada kejadian pertama dari _
. Jika sebuah file bernama "part1_part2_part3.jpg", maka file tersebut akan diubah namanya menjadi "part2_part3_part1.jpg"
Saya mengasumsikan Anda mengetahui panjang bagian sebelum _
dan setelah garis bawah, serta ekstensi. Jika Anda tidak tahu, mungkin akan lebih kompleks daripada substring sederhana.
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
)
Saya baru saja membuat skrip ini, dan saya tidak mengujinya. Lihat this dan that untuk info lebih lanjut.
JIKA Anda ingin berasumsi bahwa Anda tidak mengetahui posisi _
dan panjang serta ekstensi, saya pikir Anda bisa melakukan sesuatu dengan for loop untuk memeriksa indeks _
, kemudian indeks terakhir dari .
, bungkus dalam hal goto
dan membuatnya bekerja. Jika Anda bersedia melalui masalah itu, saya sarankan Anda menggunakan WindowsPowerShell (atau Cygwin) setidaknya (demi kepentingan Anda sendiri) atau menginstal bahasa skrip yang lebih maju (pikirkan Python/Perl) Anda akan mendapatkan lebih banyak dukungan dengan cara apa pun.