すべての下線文字(_
)ファイル名にスペース()を使用します。
たくさんの_
文字を置き換えますか?
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を使用しました)次に、ファイルをダブルクリックして名前を変更します。
Bulk Rename Utility のようなサードパーティのツールを使用することをお勧めします。無料で、インストーラーは1 MB未満です。
これは、dos batファイルの領域内にあります。 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
これが my batch rename Ruby script です。他のバッチ名前変更ツールは使用していませんが、私のスクリプトは非常に使いやすく、非常に用途が広いと思います。ここにあなたのケースのためのコマンド:
Ruby bren.rb *_* "_/ "
私はbren.rbを任意のディレクトリから実行可能ファイルとして実行できるようにWindows環境をセットアップしました。
他の人が述べたように、スクリプトまたはバッチファイルを使用せずに、希望どおりの操作を行う方法はありません。たとえば、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-to-rename-multiple-files /
最も強力なWindowsベースの名前変更ツールであり、無料です。 http://www3.telus.net/pfrank/
これは明示的に質問に答えるものではありませんが(「.. in Explorer」)、これを行うのに最も便利なソフトウェアはAdobe Bridge(無料)
追加ボーナス:正規表現をサポート!