Windows コマンド プロンプト Dir コマンドを使用してテキスト ファイルを保存し、データに拡張子を付けないようにするには?

Windows コマンド プロンプト Dir コマンドを使用してテキスト ファイルを保存し、データに拡張子を付けないようにするには?

ファイルのディレクトリのテキスト リストを作成するために使用する 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"。参考までに、dirPowershell では はコマンドのエイリアスにすぎずget-childitem、CMD プロンプトのコマンドとは関係ありませんdir。Powershell はそのスクリプトを実行し、結果が CMD プロンプトに返され、>テキスト ファイルにリダイレクトされます ( )。

関連情報