Explorer kullanarak Windows 7'de dosya adlarındaki bir karakteri nasıl bulabilir ve değiştirebilirim?


16

Tüm alt çizgi karakterlerini ( _) bir dosya adında boşluk ( ) ile değiştirmek istiyorum .

_Değiştirilecek çok sayıda karakterim olduğunda bunu nasıl hızlı bir şekilde yapabilirim ?


4
Yanıtların gösterdiği gibi, bunu Explorer'da yapmanın / yapmanın bir yolu yoktur / yoktur. Bir komut dosyasına veya toplu dosya yeniden adlandırıcısına ihtiyacınız var.
— Shinrai

Yanıtlar:


20

vbScript bunu sizin için yapmalı. Aşağıdakileri içeren "rename_underscores.vbs" adlı bir dosya oluşturun.

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

Klasör adının doğru olduğundan emin olun. (Örnekte, c: \ test kullandım) Ve sonra yeniden adlandırma yapmak için dosyanızı çift tıklayın.


Aynı şeyin 'Folder.Files' yerine 'Folder.SubFolders' kullanılarak klasörlerle çalıştığını unutmayın.
— Max Hohenegger

mükemmel çalışıyor, sadece yolla ilgilenmeniz gerekiyor. +1 teşekkürler
— Raj

4

Toplu Yeniden Adlandırma Yardımcı Programı gibi bir üçüncü taraf aracı kullanmanızı öneririm . Ücretsizdir ve 1 MB'den daha az bir yükleyiciye sahiptir.


1
Dosya adı "this_is_a_test.ext" ise ne olur?
— seanyboy

1
Toplu Yeniden Adlandırma Yardımcı Programı BÜYÜK bir uygulamadır. Çok yönlü ve Explorer ile aynı şeyi yapabileceğinizi sanmıyorum.
— Alex Angelico

Dos komutu bundan biraz daha karmaşık olurdu. Ben bir tane alay edeceğim.
— RJFalconer

3

Bu bir dos bat dosyasının alemleri içindedir. Bir yarasa dosyası oluşturun (Yeni-> Metin dosyası, uzantıyı .bat olarak yeniden adlandırın) ve ardından aşağıdaki mavi bölümleri içine kopyalayın.

Bunu bölümlere ayıracağım ve ne yaptığını anlatacağım.


Daha sonra karşılaştırmalar için dizinin geçerli durumunu yazdırın

dir /b

Dizindeki dosyaları listeleyin, ardından alt çizgi içeren ve .txt ile biten tüm dosyalar için ProcessFile'ı çağırın.

for %%f in (*_*.txt) do call :ProcessFile %%f
goto :finished

"Str =% str: x = y%" sözdizimi, x örneklerini y ile değiştirir. Bu durumda, "_" yerine hiçbir şey koymuyoruz

:ProcessFile
set str=%1
rename %1 %str:_=%
goto :eof

Bu kadar!

Şimdi sadece değiştirilenleri basar, böylece beklendiği gibi çalıştığını doğrulayabiliriz;

:finished
echo ----
dir /b

Sonuçlar (Yarasa dosyasının parçası değil)

baz_ing.txt
big_rawr.foo
foo_bar.txt
multiple_underscores_test.txt
----
bazing.txt
big_rawr.foo
foobar.txt
multipleunderscorestest.txt

2

Diğerlerinin de belirttiği gibi, bir komut dosyası veya toplu iş dosyası kullanmadan tam olarak istediğinizi yapmanın bir yolu yoktur. Örneğin, PowerShell'de istediğinizi kolayca yapabilirsiniz:

cd "C:\Users\MyName\Documents\MyDirectory"
Dir | Rename-Item –NewName { $_.name –replace "_"," " }

Sadece "C: \ Users \ MyName \ Documents \ MyDirectory" dizinini kullandığınızdan emin olun.

Bazı şeylerin dahil daha detaylı ve diğer seçenekler için olabilir sadece Explorer kullanarak yapın buraya bakın: http://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways- to-yeniden adlandırma-çoklu-files /


2

İşte benim parti yeniden adlandırmak yakut komut dosyası . Başka toplu yeniden adlandırma araçları kullanmadım ama betiğimin kullanımı çok kolay ve çok yönlü. Davanız için komut şöyledir:

ruby bren.rb *_* "_/ "

Windows ortamımı bren.rb herhangi bir dizinden yürütülebilir olarak çalıştırılabilir şekilde ayarladım.



1

Bu soruya açıkça cevap vermiyor ('.. Explorer'da'), ancak bunu yapmak için en yararlı yazılımı Adobe Bridge (Ücretsiz) olarak buldum

  1. Bridge'deki tüm dosyaları seç
  2. Sağ tıklama> Toplu Yeniden Adlandırma

Ek bonus: Regex'i destekler!

Ekran Görüntüsü

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.