如何获取文件夹中zip文件的大小,并在excel中保存zip文件的文件名和大小

时间:2013-07-11 07:46:46

标签: batch-file

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

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

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

希望尽快得到答案

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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