エクスプローラーを使用してWindows 7でファイル名の文字を見つけて置換するにはどうすればよいですか?


16

ファイル名のすべての下線文字(_)をスペース()に置き換えたい。

_置き換える文字がたくさんあるときに、どうすればこれをすばやく行うことができますか?


4
答えが示しているように、Explorerでこれを行う方法はありません。スクリプトまたはバッチファイルの名前変更が必要です。
Shinrai

回答:


20

vbScriptがそれを行う必要があります。次を含む「rename_underscores.vbs」というファイルを作成します。

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

フォルダー名が正しいことを確認してください。(この例では、c:\ testを使用しました)次に、ファイルをダブルクリックして名前を変更します。


「Folder.Files」の代わりに「Folder.SubFolders」を使用して、同じことがフォルダーで機能することに注意してください。
マックスホーヘネッガー

完璧に動作し、パスの世話をする必要があります。+1のおかげ
ラジ

4

Bulk Rename Utilityなどのサードパーティツールを使用することをお勧めします。無料で、インストーラーのサイズは1 MB未満です。


1
ファイル名が「this_is_a_test.ext」の場合はどうなりますか?
seanyboy

1
一括名前変更ユーティリティは素晴らしいアプリケーションです。その非常に用途が広く、Explorerで同じことを達成できるとは思いません。
アレックスアンジェリコ

dosコマンドはそれよりも少し複雑です。1つをモックします。
RJファルコナー

3

これは、DOSバットファイルの領域内です。batファイルを作成し(新規->テキストファイル、拡張子を.batに変更)、下の青いセクションをコピーします。

セクションに分割して、それが何をしているのかを説明します。


後で比較するために、ディレクトリの現在の状態を出力します

dir /b

ディレクトリ内のファイルを一覧表示し、アンダースコアを含みすべてが.txtで終わるすべてのファイルについて、ProcessFileを呼び出します。

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

構文「str =%str:x = y%」は、xのインスタンスをyに置き換えます。この場合、「_」を何も置き換えません

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

それでおしまい!

これで、変更された内容が出力されるだけで、期待どおりに機能していることを確認できます。

:finished
echo ----
dir /b

結果(batファイルの一部ではない)

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

2

他の人が述べたように、スクリプトまたはバッチファイルを使用せずに、必要なことを正確に行う方法はありません。たとえば、PowerShellでは、必要なことを簡単に実行できます。

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

「C:\ Users \ MyName \ Documents \ MyDirectory」をディレクトリのパスに置き換えてください。

エクスプローラーだけでできることなど、詳細やその他のオプションについては、http//www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-を参照してください。複数のファイルの名前を変更/


2

これが私のバッチ名前変更rubyスクリプトです。他のバッチ名変更ツールは使用していませんが、スクリプトは非常に使いやすく、非常に用途が広いと思います。ケースのコマンドは次のとおりです。

ruby bren.rb *_* "_/ "

任意のディレクトリから実行可能ファイルとしてbren.rbを実行できるように、Windows環境をセットアップしました。



1

これは明示的に質問に答えません( '.. in Explorer')が、これを行うのに最も便利なソフトウェアはAdobe Bridge(無料)であることがわかりました。

  1. Bridgeのすべてのファイルを選択します
  2. 右クリック>名前の一括変更

追加ボーナス:正規表現をサポート!

スクリーンショット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.