5

フォルダーとサブディレクター内のすべてのファイルをリストし、ファイルサイズでcsvにエクスポートするバッチファイルを作成しようとしています。現在、これがあります:

@ECHO OFF &SETLOCAL

(FOR /f "delims=|" %%a  IN ('dir /s /b  /a-d') DO (
    FOR /f "tokens=1-9*" %%x IN ('dir /b  /a-d /tc  "%%~a"^| C:\Windows\System32\findstr "^[0-9]"') DO (

        ECHO %%a, %%z
    )
))>DIR.csv
TYPE DIR.csv

しかし、必要なのはファイルディレクトリとファイルパスを別々のレコードとして

4

1 に答える 1

6

これは、コマンド ラインから直接、簡単なワンライナーで実行できます。バッチは必要ありません。

ファイル名にはコンマを含めることができるため、CSV では引用符で囲む必要があります。以下は、各行にファイル パス、ファイル名、ファイル サイズを含む csv を作成します。

(for /r %F in (*) do @echo "%~dpF","%~nxF",%~zF) >dir.csv

バッチ スクリプト内で使用する場合は、パーセントを 2 倍にします。

FORコマンドのドキュメントについては、コマンド ラインからHELP FORorを入力してください。FOR /?一番下には、FOR 変数値を展開するときに使用できるすべての修飾子の説明があります。

于 2013-10-04T16:37:05.540 に答える