CSV スタイルの出力を作成するための出発点は次のとおりです。任意のスプレッドシート プログラムで開くことができるはずです。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%A IN ('DIR /AD /B 2^> NUL') DO (
SET line="%%A"
FOR /F "delims=" %%B IN ('DIR %%A\*.xxx /B 2^> NUL') DO SET line=!line!,"%%B"
ECHO !line!
)
あなたがバッチ スクリプトについてどれだけ知っているかはわかりませんが、とりあえずそのままにしておきます。ただし、不明な点があれば遠慮なくお尋ねください。
EDIT: -stuffを機能
EnableDelayedExpansion
させるために必要です!
(以下を参照)。
最初のFOR
行は、現在のディレクトリ内のすべてのサブディレクトリをループし、考えられるすべてのエラー メッセージを破棄します。DO (
最後の行のとの間のものは、)
見つかったサブディレクトリごとに実行されます。
line
-variable は、2 番目の-loop がFOR
終了すると、すべてのファイルを保持します。サブディレクトリの名前、つまり CSV 出力の最初の列で初期化されます。
その 2 番目のループは、最初のループで見つかったサブディレクトリ内のFOR
拡張子を持つすべてのファイルを検索しxxx
、考えられるエラー メッセージを再度破棄します。はSET
ファイル名を相互に追加します。
は、おなじみのの!
代わりに使用されます。遅延展開をコードに適用します (コマンド ラインで%
この実行に関する詳細情報が必要な場合)。SET /?
ディレクトリ構造をさらに深く掘り下げたい場合は、最初のループで -command に追加/S
する必要があります。DIR
'DIR /AD /B /S 2^> NUL'