Windows 如何从命令行检查文件大小

Windows 如何从命令行检查文件大小,windows,batch-file,if-statement,Windows,Batch File,If Statement,我需要能够检查文件大小,然后在批处理文件中执行if语句 e、 g.如果文件20KB启动记事本 @echo off SETLOCAL ENABLEEXTENSIONS if exist "%~f1" ( if %~z1 GEQ 20480 ( start "" "%ProgramFiles%\Windows NT\Accessories\wordpad.exe" "%~f1" ) else ( start notepad "%~f1" ) )

我需要能够检查文件大小,然后在批处理文件中执行if语句

e、 g.如果文件<20KB启动记事本,如果文件>20KB启动记事本

@echo off
SETLOCAL ENABLEEXTENSIONS
if exist "%~f1" (
    if %~z1 GEQ 20480 (
        start "" "%ProgramFiles%\Windows NT\Accessories\wordpad.exe" "%~f1"
    ) else (
        start notepad "%~f1"
    )
)
编辑:z语法仅适用于参数和循环,对于硬编码名称,您可以使用辅助函数:

@echo off
SETLOCAL ENABLEEXTENSIONS
goto main

:getfilesize 
set %1=0
if exist "%~f2" set %1=%~z2
@goto :EOF

:main
set myfile=test.txt
call :getfilesize mysize "%myfile%"
if %mysize% GEQ 20480 (
    start "" "%ProgramFiles%\Windows NT\Accessories\wordpad.exe" "%myfile%"
) else (
    start notepad "%myfile%"
)

可能重复@Michael Burr No,这需要if语句我想输入它,例如,它检查一个预定义的文件,查看它的20kb或not@James:我刚刚在示例代码(Yourbatch.cmd yourfile.txt)中使用了%1(第一个参数)