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

Di *_*Zou 1 windows batch-file filesize

我试图找到一个文件的大小,如果它大于0,我想做一些事情.我有这个代码:

set file="C:\AnalyzerCheck\loaded.txt"
set minbytesize=0
if exist %file% (
FOR /F "usebackq" %A IN ('%file%') DO set size=%~zA
if %size% GTR %minbytesize% (
    //do stuff
) else (
    //do stuff
)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行脚本时,我得到了这个输出/错误:

C:\ AnalyzerCheck> set file = C:\ AnalyzerCheck\loaded.txt

C:\ AnalyzerCheck> set minbytesize = 0

file~zA此时出人意料.

C:\ AnalyzerCheck> FOR/F"usebackq"文件~zA

C:\ AnalyzerCheck>

我该如何解决这个错误?

编辑:

新错误:

Aac*_*ini 5

这个命令:

FOR /F "usebackq" %A IN ('%file%') DO set size=%~zA
Run Code Online (Sandbox Code Playgroud)

有两个错误:你不能使用/ F选项(既不是"useback"选项),因为你不想读取文件CONTENTS,而只是处理文件NAME.此外,如果此命令位于批处理文件中,则A可替换参数必须具有两个百分号:

FOR %%A IN (%file%) DO set size=%%~zA
Run Code Online (Sandbox Code Playgroud)