Wie finde und ersetze ich ein Zeichen in Dateinamen in Windows 7 mithilfe des Explorers?


16

Ich möchte alle Unterstriche ( _) durch Leerzeichen ( ) in einem Dateinamen ersetzen .

Wie kann ich das schnell tun, wenn ich viele _Charaktere zu ersetzen habe?


4
Wie die Antworten zeigen, gibt es im Explorer keine Möglichkeit, dies zu tun. Sie benötigen ein Skript oder einen Batch-File-Renamer.
Shinrai

Antworten:


20

vbScript sollte es für Sie tun. Erstellen Sie eine Datei mit dem Namen "rename_underscores.vbs", die Folgendes enthält.

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

Stellen Sie sicher, dass der Ordnername korrekt ist. (In dem Beispiel habe ich c: \ test verwendet.) Doppelklicken Sie anschließend auf Ihre Datei, um die Umbenennung vorzunehmen.


Beachten Sie, dass dies auch für Ordner gilt, bei denen 'Folder.SubFolders' anstelle von 'Folder.Files' verwendet wird.
Max Hohenegger

perfekt arbeiten, müssen nur den Weg kümmern. +1 Danke
Raj

3

Dies liegt im Bereich einer dos bat-Datei. Erstellen Sie eine Fledermausdatei (Neu-> Textdatei, Erweiterung in .bat umbenennen) und kopieren Sie die blauen Abschnitte darunter hinein.

Ich werde es in Abschnitte aufteilen und erklären, was es tut.


Gibt den aktuellen Status des Verzeichnisses zum späteren Vergleich aus

dir /b

Listen Sie die Dateien im Verzeichnis auf. Rufen Sie dann ProcessFile für alle Dateien auf, die einen Unterstrich enthalten und mit .txt enden.

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

Die Syntax "str =% str: x = y%" ersetzt Instanzen von x durch y. In diesem Fall ersetzen wir "_" durch nichts

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

Das ist es!

Jetzt wird nur das ausgegeben, was geändert wurde, damit wir bestätigen können, dass es wie erwartet funktioniert.

:finished
echo ----
dir /b

Ergebnisse (Nicht Teil der Fledermausdatei)

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

3

Ich empfehle die Verwendung eines Tools von Drittanbietern wie das Bulk Rename Utility . Es ist kostenlos und hat ein Installationsprogramm mit weniger als 1 MB.


1
Was ist, wenn der Dateiname "this_is_a_test.ext" lautet?
Seanyboy

1
Bulk Rename Utility ist eine großartige Anwendung. Es ist sehr vielseitig und ich glaube nicht, dass Sie dasselbe mit Explorer erreichen können.
Alex Angelico

Der Befehl dos wäre etwas komplizierter. Ich werde einen verspotten.
RJFalconer

2

Wie bereits erwähnt, gibt es keine Möglichkeit, genau das zu tun, was Sie möchten, ohne ein Skript oder eine Batch-Datei zu verwenden. In PowerShell können Sie beispielsweise ganz einfach das tun, was Sie möchten:

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

Stellen Sie einfach sicher, dass Sie "C: \ Users \ MyName \ Documents \ MyDirectory" durch den Pfad zu Ihrem Verzeichnis ersetzen.

Für weitere Einzelheiten und andere Optionen, darunter auch einige Dinge , die Sie können nur Explorer tun, siehe hier: http://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways- Mehrere Dateien umbenennen /


2

Hier ist mein Batch-Umbenennungs-Ruby-Skript . Ich habe keine anderen Tools zum Batch-Umbenennen verwendet, aber ich denke, mein Skript ist sehr einfach zu verwenden und sehr vielseitig. Hier ist der Befehl für Ihren Fall:

ruby bren.rb *_* "_/ "

Ich habe meine Windows-Umgebung so eingerichtet, dass bren.rb von jedem Verzeichnis aus als ausführbare Datei ausgeführt werden kann.



1

Dies beantwortet die Frage nicht explizit ('.. im Explorer'), aber ich fand die nützlichste Software, um dies zu tun, Adobe Bridge (Free)

  1. Wählen Sie alle Dateien in Bridge aus
  2. Klicken Sie mit der rechten Maustaste auf> Stapel-Umbenennung

Zusätzlicher Bonus: Unterstützt Regex!

Bildschirmfoto

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.