获取文件的大小并将其保存到 Windows 控制台中的变量?

获取文件的大小并将其保存到 Windows 控制台中的变量?

我正在编写一个 Windows 批处理脚本,我需要获取一个文件的具体大小,以便我可以将其和我已经获得的其他值插入到数据库中,但我就是找不到正确的方法来做到这一点。

假设文件的名称是c:\test!basename!.zip(我在这里处于 for 循环中),我如何获取文件大小并将其存储到变量中?

该机器是Win2008 Server。

回答

EliadTech 提出了一个我已经尝试过的解决方案

for %I in (test.jpg) do @echo %~zI

这在命令提示符中直接有效,但在脚本内部失败。

正如我们已经怀疑的那样,EliadTech 想到了检查转义,所以我们得到了这个

for %%I in (c:\test\!basename!.zip) do @echo yay %%~zI

奇迹般有效。

这是一个愚蠢的错误,但是 bash 已经把我宠坏了,无法挽回 :)

答案1

有几条建议这里。我认为这最适合你:

for %I in (test.jpg) do @echo %~zI

相关内容