1

これがばかげた質問であることはわかっていますが、DOS の知識が不足しているため、問題に直面しています。98000を超えるサブディレクトリを持つディレクトリがありますが、それらの多くにはファイルがありません。パスでリストしたいだけです

今のところ私はこのバッチファイルを使用しています

 @echo off
 for /d /r %1 %%A in (.) do (
 dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA 
 )

これはまさに私が望んでいることですが、多くのディレクトリが空であるため、リストをテキストファイルに保存しないという問題があり、このコードを変更しただけで試したcmdからコピーできません

@echo off
for /d /r %1 %%A in (.) do (
dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA >epty.txt
)

しかし、リストではなく1行を保存するだけです。私が欲しいのは、すべてのリストをこの関数のテキストファイルに出力するだけです。

ご協力ありがとうございました

4

1 に答える 1

1

このスクリプトを呼び出すときに、このスクリプトからの出力全体をテキスト ファイルにリダイレクトしてみてください。たとえば、指定した最初のスクリプトが現在の作業ディレクトリにある script.cmd という名前のファイルに保存されている場合、次のコマンドを使用してコマンド プロンプトから呼び出すことができます。

script.cmd > output.txt
于 2013-09-12T16:18:41.150 に答える