我正在编写一个 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