回答:
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に変更)、下の青いセクションをコピーします。
セクションに分割して、それが何をしているのかを説明します。
後で比較するために、ディレクトリの現在の状態を出力します
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
他の人が述べたように、スクリプトまたはバッチファイルを使用せずに、必要なことを正確に行う方法はありません。たとえば、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-を参照してください。複数のファイルの名前を変更/
これが私のバッチ名前変更rubyスクリプトです。他のバッチ名変更ツールは使用していませんが、スクリプトは非常に使いやすく、非常に用途が広いと思います。ケースのコマンドは次のとおりです。
ruby bren.rb *_* "_/ "
任意のディレクトリから実行可能ファイルとしてbren.rbを実行できるように、Windows環境をセットアップしました。
最も強力なWindowsベースの名前変更ツールであり、無料です。 http://www3.telus.net/pfrank/
これは明示的に質問に答えません( '.. in Explorer')が、これを行うのに最も便利なソフトウェアはAdobe Bridge(無料)であることがわかりました。
追加ボーナス:正規表現をサポート!