批处理文件,用于列出csv中的文件路径和文件名

时间:2013-10-04 14:59:00

标签: batch-file

我正在尝试创建一个批处理文件,列出文件夹和子控制器中的所有文件,并导出到具有文件大小的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

但我需要的是文件目录和文件路径作为单独的记录

1 个答案:

答案 0 :(得分:4)

这可以通过直接从命令行使用简单的一个衬管来实现 - 无需批处理。

文件名可以包含逗号,因此应在CSV中引用它们。以下将创建一个csv,其中包含文件路径,文件名,每行的文件大小。

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

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

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