我需要能够检查文件filesize,然后在批处理文件中执行if语句
e.g。如果文件< 20KB开始记事本,如果> 20KB启动wordpad
答案 0 :(得分:2)
@echo off
SETLOCAL ENABLEEXTENSIONS
if exist "%~f1" (
if %~z1 GEQ 20480 (
start "" "%ProgramFiles%\Windows NT\Accessories\wordpad.exe" "%~f1"
) else (
start notepad "%~f1"
)
)
编辑:%~z语法仅适用于参数和FOR循环,对于硬编码名称,您可以使用辅助函数:
@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%"
)