2

我想创建一个批处理文件,该文件获取文件夹中可用的 zip 文件的大小,并将文件夹名称及其适当的文件大小保存在 .CSV 文件中。我使用了下面的命令,但我只得到了 1 个输出,因为当循环结束时,最后一个结果被提取到 .CSV 文件中

for %%I in (*.txt) do @echo %%~nI,%%I >C:\Users\anoopn\Desktop\out.csv

我希望结果的格式为单元格中的大小和不同单元格中的整个路径

希望尽快得到答复

4

2 回答 2

2
(for %%I in (*.zip) do echo(%%~nI,%%~zI)>C:\Users\anoopn\Desktop\out.csv

要仅获取所有 ZIP 文件的计算大小的文件夹名称,请使用以下命令:

@ECHO OFF &SETLOCAL
FOR /f "tokens=3" %%a IN ('dir *.zip') DO (
    CALL SET "size=%%free%%"
    SET "free=%%a"
)
(ECHO(%cd%,%size%)>C:\Users\anoopn\Desktop\out.csv
于 2013-07-11T07:53:33.617 回答
0

由于您正在查找.zip文件列表,因此您可能不想循环.txt文件。要附加到文件,您需要使用>>而不是>.

FOR %%I IN (*.zip) DO @ECHO %%~nI,%%~zI >> C:\Users\anoopn\Desktop\out.csv

更新:所以问题是如何递归地在目录树中查找.zip文件并输出它们的路径和大小,用逗号分隔。可以这样做:

FOR /F %%I IN ('dir /s /b *.zip') DO @ECHO %%I,%%~zI >> C:\Users\anoopn\Desktop\out.csv

如果我在我的 JDK 1.6 文件夹中运行它,输出如下所示:

C:\dev\jdk16024\src.zip,19717891
C:\dev\jdk16024\jre\lib\deploy\ffjcext.zip,16801
于 2013-07-11T07:56:20.377 回答