質問: バッチファイルを使用してwindowsファイル名の1文字を置き換える方法は? 名前を変更する必要があるファイル名がたくさんあるwindows server 2003サーバーがあります。基本的に、ファイル名のどこにあっても、すべての-(ハイフン)を_(アンダースコア)に置き換える必要があります。重複がないと仮定します。小さなスクリプトでmacでこれを行うことができますが、ファイルが大きすぎてクレイジーなので、macに転送して名前を変更してから、サーバーに戻ることができません。名前変更や追加のソフトウェアをダウンロードせずに、windowsコマンドプロンプトでこれを行うことは可能ですか?
回答: コマンドプロンプトから-すべてのファイルが同じディレクトリにあると仮定します。一発ギャグfor /f "tokens=* delims= " %i in ('dir /b "*.txt"') do set list=%i& set list | ren "%~fi" "%list:-=_%"これはコマンドプロンプトウィンドウごとに1つのショットであることに注意してください。つまり、何らかの理由でこれをキャンセルした場合は、別のコマンドプロンプトを開いて再度実行する必要があります。