Как проверить размер файла из командной строки - PullRequest
1 голос
/ 12 мая 2011

Мне нужно иметь возможность проверить размер файла, а затем выполнить оператор if в пакетном файле

например, если файл <20KB, стартовый блокнот, если> 20KB, стартовый wordpad

1 Ответ

2 голосов
/ 12 мая 2011
@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%"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...