Saya ingin mengganti semua karakter garis bawah ( _
) dengan spasi ( ) dalam nama file.
Bagaimana saya bisa melakukan ini dengan cepat, ketika saya punya banyak _
karakter untuk diganti?
Saya ingin mengganti semua karakter garis bawah ( _
) dengan spasi ( ) dalam nama file.
Bagaimana saya bisa melakukan ini dengan cepat, ketika saya punya banyak _
karakter untuk diganti?
Jawaban:
vbScript harus melakukannya untuk Anda. Buat file bernama "rename_underscores.vbs" yang berisi yang berikut ini.
Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("c:\test\")
For Each File In Folder.Files
sNewFile = File.Name
sNewFile = Replace(sNewFile,"_"," ")
if (sNewFile<>File.Name) then
File.Move(File.ParentFolder+"\"+sNewFile)
end if
Next
Pastikan nama folder sudah benar. (Dalam contoh, saya telah menggunakan c: \ test) Dan kemudian klik dua kali file Anda untuk melakukan penggantian nama.
Ini berada dalam ranah file dos bat. Buat file bat (Baru & gt; File teks, ganti nama ekstensi menjadi .bat) lalu salin bagian biru di bawahnya.
Saya akan membaginya menjadi beberapa bagian dan menjelaskan apa yang dilakukannya.
Cetak status direktori saat ini untuk perbandingan nanti
dir /b
Daftar file dalam direktori, lalu untuk semua yang berisi garis bawah dan akhiri dengan .txt, panggil ProcessFile pada mereka.
for %%f in (*_*.txt) do call :ProcessFile %%f
goto :finished
Sintaks "str =% str: x = y%" menggantikan instance x dengan y. Dalam hal ini, kami mengganti "_" dengan tidak ada
:ProcessFile
set str=%1
rename %1 %str:_=%
goto :eof
Itu dia!
Sekarang hanya mencetak apa yang diubah sehingga kami dapat mengonfirmasi itu berfungsi seperti yang diharapkan;
:finished
echo ----
dir /b
Hasil (Bukan bagian dari file bat)
baz_ing.txt
big_rawr.foo
foo_bar.txt
multiple_underscores_test.txt
----
bazing.txt
big_rawr.foo
foobar.txt
multipleunderscorestest.txt
Saya sarankan menggunakan alat pihak ke-3 seperti Utilitas Ubah Nama Massal . Gratis dan memiliki penginstal kurang dari 1 MB.
Disini adalah batch saya mengganti nama skrip ruby . Saya belum pernah menggunakan alat penamaan bets lain tapi saya pikir skrip saya sangat mudah digunakan dan sangat fleksibel. Ini adalah perintah untuk kasus Anda:
ruby bren.rb *_* "_/ "
Saya telah mengatur lingkungan windows saya sedemikian rupa sehingga bren.rb dapat dieksekusi sebagai executable dari direktori mana pun.
Alat penggantian nama berbasis Windows, yang paling kuat di sana, dan gratis. http://www3.telus.net/pfrank/
Seperti yang disebutkan orang lain, tidak ada cara untuk melakukan apa yang Anda inginkan tanpa menggunakan skrip atau file batch. Misalnya, di PowerShell Anda dapat melakukan apa yang Anda inginkan dengan mudah:
cd "C:\Users\MyName\Documents\MyDirectory"
Dir | Rename-Item –NewName { $_.name –replace "_"," " }
Pastikan untuk mengganti "C: \ Users \ MyName \ Documents \ MyDirectory" dengan path ke direktori Anda.
Untuk lebih detail dan opsi lain, termasuk beberapa hal Anda bisa lakukan hanya menggunakan Explorer, lihat di sini: http://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-to-rename-multiple-files/
Ini tidak secara eksplisit menjawab pertanyaan ('.. di Explorer'), tetapi saya menemukan perangkat lunak yang paling berguna untuk melakukannya adalah Jembatan Adobe (Bebas)
Bonus tambahan: Mendukung Regex!