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

如果在批处理脚本中使用,则将百分比加倍。

键入HELP FORFOR /?从命令行获取有关 FOR 命令的文档。底部是对扩展 FOR 变量值时可以使用的所有修饰符的描述。

于 2013-10-04T16:37:05.540 回答