我正在尝试创建一个批处理文件,列出文件夹和子控制器中的所有文件,并导出到具有文件大小的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
但我需要的是文件目录和文件路径作为单独的记录
答案 0 :(得分:4)
这可以通过直接从命令行使用简单的一个衬管来实现 - 无需批处理。
文件名可以包含逗号,因此应在CSV中引用它们。以下将创建一个csv,其中包含文件路径,文件名,每行的文件大小。
(for /r %F in (*) do @echo "%~dpF","%~nxF",%~zF) >dir.csv
如果在批处理脚本中使用,则加倍百分比。
从命令行输入HELP FOR
或FOR /?
以获取FOR命令的文档。底部是对扩展FOR变量值时可以使用的所有修饰符的描述。