获取文件大小的命令

3

请问有没有针对Windows 7的Shell命令,可以接受一个文件路径作为参数,并返回该文件的大小 - 像这样:

fileSize.cmd file.txt

...这将给我 1KB

在 Stack Overflow 上有一个问题指出了命令 echo %~z1,但为此,我必须编写一个单独的批处理文件并在其中使用此命令。我正在考虑修改现有的 bat 文件并以某种方式整合此命令。我的批处理文件如下:

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

我需要在现有的批处理文件中添加上述命令,以查找diff_out.txt文件的大小。

2个回答

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

另一种变量:

@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%

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接