For loop &引用;至于;命令不使用(集合)元素中的空间

For loop &引用;至于;命令不使用(集合)元素中的空间,for-loop,command,set,For Loop,Command,Set,我正在编写一个命令脚本,该脚本将某个文件的文件大小存储为一个变量,以便稍后在脚本中输出它 除非命令的(set)部分指向一个带有空格的路径,否则我可以让它完美地工作 这项工作: 对于(“%userprofile%\desktop\test2\test.jpg”)中的/F%%A,如果%%zA GTR 0设置INITIALSIZE=%%~zA,则执行 消息“%username%”文件大小:%INITIALSIZE% 它将打开一个文件大小为test.jpg的对话框 如果我将“test2”文件夹的名称更

我正在编写一个命令脚本,该脚本将某个文件的文件大小存储为一个变量,以便稍后在脚本中输出它

除非命令的(set)部分指向一个带有空格的路径,否则我可以让它完美地工作

这项工作:

对于(“%userprofile%\desktop\test2\test.jpg”)中的/F%%A,如果%%zA GTR 0设置INITIALSIZE=%%~zA,则执行
消息“%username%”文件大小:%INITIALSIZE%
它将打开一个文件大小为test.jpg的对话框

如果我将“test2”文件夹的名称更改为“test2”,那么它将停止工作。它从不将值存储到INITIALSIZE中。这是必需的,因为最终脚本将指向的实际路径在程序文件中

这些方法不起作用:

对于(“%userprofile%\desktop\test 2\test.jpg”)中的/F%%A,如果%%zA GTR 0设置INITIALSIZE=%%~zA,则执行
消息“%username%”文件大小:%INITIALSIZE%
对于(“%userprofile%\desktop\test 2\test.jpg”)中的/F%%A,如果%%zA GTR 0设置了INITIALSIZE=%%~zA,则执行该操作
消息“%username%”文件大小:%INITIALSIZE%
对于(“%userprofile%\desktop\”test 2“\test.jpg”)中的/F%%A,如果%%zA GTR 0设置了INITIALSIZE=%%~zA,则执行
消息“%username%”文件大小:%INITIALSIZE%
对于““%userprofile%\desktop\test 2\test.jpg”中的/F%%A,如果%%zA GTR 0设置了INITIALSIZE=%%~zA,则执行该操作
消息“%username%”文件大小:%INITIALSIZE%
关于这里需要使用什么语法有什么想法吗?原谅我的无知,我是个新手


谢谢

这里有一个例子如何做到这一点

@echo off
set file1="d:\new folder\test.jpg"
call :getfilesize %file1% size
echo %size%
goto :eof

:getfilesize %a
set size=%~z1
goto :eof