
ファイルのディレクトリのテキスト リストを作成するために使用する Dir コマンドがあります。「dir /a /b /-p /o:gen > z-file_list.txt」
テキスト リストに拡張子が含まれないように変更する方法をご存知の方はいませんか? つまり、ファイル名だけでしょうか?
前もって感謝します!
- 編集 -
分かりにくくて申し訳ありません。私が言いたいのは、このコマンドはディレクトリの内容のファイルリストを含む txt ファイルを保存するということです。
テキストファイルは、
filename.ext
filename.ext
filename.ext
filename.extのようになります。
テキストファイルを次のように表示する方法を見つけようとしています。
ファイル名
ファイル名
ファイル名
ファイル名
ありがとう。わかりにくくてすみません。
答え1
このdir
コマンドには、拡張機能を削除するスイッチまたはオプションはありません。
dir /b
ただし、ループ内での出力を処理することで実行できますfor /f
。
(del list.txt 2>nul) & for /f %f in ('dir /a /b /o:gen') do @echo %~nf >>list.txt
サブディレクトリやシステム/隠しファイル(これが目的です)を気にしない場合は、dir /a
プレーンfor
でも機能します。
(del list.txt 2>nul) & for %f in (*) do @echo %~nf >>list.txt
構文とスイッチの詳細については、 およびをdir /?
実行してください。del /?
for /?
答え2
Powershell を少し使って、CMD プロンプトから実行できます。コマンド プロンプトから、次のように入力します。
powershell -command "dir |select basename" > file_list.txt
前述したように、これはちょっとしたチートです。Powershellpowershell -command
シェルを呼び出して Powershell スクリプトを実行しますdir |select basename"
。参考までに、dir
Powershell では はコマンドのエイリアスにすぎずget-childitem
、CMD プロンプトのコマンドとは関係ありませんdir
。Powershell はそのスクリプトを実行し、結果が CMD プロンプトに返され、>
テキスト ファイルにリダイレクトされます ( )。