Bagaimana cara menemukan dan mengganti karakter dalam nama file di Windows 7 menggunakan Explorer?

14

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?

Nam G VU
sumber
4
Seperti yang ditunjukkan oleh jawaban, ada / tidak ada cara untuk melakukan ini di Explorer. Anda memerlukan skrip atau pembuat file batch.
Shinrai

Jawaban:

18

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.

seanyboy
sumber
Perhatikan bahwa hal yang sama bekerja dengan folder, menggunakan 'Folder.SubFolders', bukan 'Folder.Files'
Max Hohenegger
3

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
RJFalconer
sumber
3

Saya sarankan menggunakan alat pihak ke-3 seperti Utilitas Ubah Nama Massal . Gratis dan memiliki penginstal kurang dari 1 MB.

Mehper C. Palavuzlar
sumber
1
Bagaimana jika nama file "this_is_a_test.ext"?
seanyboy
1
Bulk Rename Utility adalah aplikasi HEBAT. Sangat fleksibel dan saya pikir Anda tidak dapat mencapai hal yang sama dengan Explorer.
Alex Angelico
Perintah dos akan sedikit lebih rumit dari itu. Saya akan mengejek satu.
RJFalconer
2

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.

Codism
sumber
1

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/

Malcolm
sumber
1

Ini tidak secara eksplisit menjawab pertanyaan ('.. di Explorer'), tetapi saya menemukan perangkat lunak yang paling berguna untuk melakukannya adalah Jembatan Adobe (Bebas)

  1. Pilih semua file di Bridge
  2. Klik kanan & gt; Ganti Nama Batch

Bonus tambahan: Mendukung Regex!

Screen Shot

Gigilamesh
sumber