Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 检查批处理脚本中的文件大小_Windows_Batch File_Filesize - Fatal编程技术网

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

Windows 检查批处理脚本中的文件大小,windows,batch-file,filesize,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 ) 但是,在运行脚本时,我收到以

我试图找到一个文件的大小,如果它大于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
)
但是,在运行脚本时,我收到以下输出/错误:

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

C:\AnalyzerCheck>set minbytesize=0

file~zA在这个时候出人意料 时间

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

C:\AnalyzerCheck>

如何修复此错误

编辑:

新错误:

此命令:

FOR /F "usebackq" %A IN ('%file%') DO set size=%~zA
有两个错误:您不能使用/F选项(“useback”选项),因为您不想读取文件内容,而只想处理文件名。此外,如果此命令位于批处理文件中,则a可替换参数必须有两个百分号:

FOR %%A IN (%file%) DO set size=%%~zA

在脚本中,

此命令:

    for /f %%A in ("myfile.txt") do set size=%%~zA
    set "filename=myfile.txt"
    for %%A in (%filename%) do echo.Size of "%%A" is %%~zA bytes
    set "filename=myfile.txt"
    for /f %%A in (%filename%) do set size=%%~zA
或此命令:

    for /f %%A in ("myfile.txt") do set size=%%~zA
    set "filename=myfile.txt"
    for %%A in (%filename%) do echo.Size of "%%A" is %%~zA bytes
    set "filename=myfile.txt"
    for /f %%A in (%filename%) do set size=%%~zA
或此命令:

    for /f %%A in ("myfile.txt") do set size=%%~zA
    set "filename=myfile.txt"
    for %%A in (%filename%) do echo.Size of "%%A" is %%~zA bytes
    set "filename=myfile.txt"
    for /f %%A in (%filename%) do set size=%%~zA
我建议使用(“%file%”)而不是(%file%),以防文件名有空格。您对我的FOR命令失败,因为我的文件名有空格。添加引号可以使其与带有空格的文件名匹配。