用于获取文件大小的命令

时间:2012-08-26 20:20:34

标签: batch-file windows-7 filesize

有人可以告诉我一个Windows 7的shell命令,它将文件路径作为参数并返回该文件的大小 - 类似于:

fileSize.cmd file.txt

...这会给我1KB

SO中的一个问题注意到命令echo %~z1,但为此,我必须编写一个单独的批处理文件并在其中使用此命令。我正在考虑修改现有的bat文件并以某种方式合并此命令。我的批处理文件如下所示:

p4 diff //sources/j2cs/output.txt >> diff_out.txt

我必须在现有的bat文件中添加以上命令才能找到diff_out.txt的文件大小。

2 个答案:

答案 0 :(得分:9)

您不需要额外的批处理文件,可以通过调用函数将文件名移动到%1,也可以使用FOR循环。

call :getFilesize diff_out.txt
echo %fileSize%
exit /b

:getFilesize
set filesize=%~z1
exit /b

for %%A in (diff_out.txt) do set fileSize=%%~zA

答案 1 :(得分:1)

另一种变体:

@echo off

set file=c:\bookmarks.html

%1 %0 :: %file%
set len=%~z2
echo %len% 

pause

或与wmic:

D:\>set wql="drive='g:' and filename='function2' and extension='txt'"

D:\>wmic path cim_datafile where %wql% get name,filesize
FileSize  Name
621       g:\function2.txt

D:\>

或:

set file=G:\function2.txt

echo set len=%%~z1 >_tmp.bat
call _tmp.bat %file% && del _tmp.bat
echo %len%