2011-05-12 48 views
1

我需要能夠檢查文件的文件大小,然後如果在一個批處理文件語句如何檢查命令行文件

例如做一個大小如果文件< 20KB啓動記事本,如果> 20KB啓動寫字板

+0

可能重複的[只有文件大小的Windows命令?](http://stackoverflow.com/questions/483864/windows-command-for-file-size-only) –

+0

@Michael Burr不,這需要if語句以及 – James

回答

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語法僅適用於參數和循環,對於一個硬編碼的名字,你可以使用一個輔助功能:

@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%" 
) 
+0

這是什麼用法? – James

+0

我想輸入它檢查一個預定義的文件,看看它的20kb或不是 – James

+0

??你知道嗎? – James

相關問題