如何检查批处理脚本中带有空格的路径中文件的大小

Posted

技术标签:

【中文标题】如何检查批处理脚本中带有空格的路径中文件的大小【英文标题】:How to check the size of a file in a path with spaces in a batch script 【发布时间】:2015-07-15 09:03:16 【问题描述】:

我在这里找到了答案:How can I check the size of a file in a Windows batch script?,如果文件路径没有空格,但如果有空格,则效果很好

例子:

set file=C:\Example.txt
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA

有效但

set file=C:\Program Files\Example.txt
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA

不是,我试图在变量声明中用双引号引起来

set file="C:\Program Files\Example.txt"

和/或在 FOR 循环文件变量中

FOR /F "usebackq" %%A IN ('"%file%"') DO set size=%%~zA

但没有一个有效

【问题讨论】:

【参考方案1】:
set "file=C:\Program Files\Example.txt"
for %%A in ("%file%") do set "size=%%~zA"

不需要for /f 命令(其正常用途是处理文件内容或字符串或命令执行的输出),基本 for 命令获取对一个文件就足够了。

【讨论】:

以上是关于如何检查批处理脚本中带有空格的路径中文件的大小的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 与 Windows 10 - 处理批处理文件中带有空格的文件夹名称

无法遍历文件名中带有空格的文件、Windows 批处理文件和图像魔法

在批处理脚本中检查文件大小

如何检查文件大小是不是超过批处理的最大文件大小[重复]

在 Windows .cmd 文件或批处理文件的路径中设置带有空格的路径变量

读取bash脚本中的输入,该脚本是路径中带有空格的目录[重复]