2017-03-02 66 views
-1

我正在使用this solution,其中Compo給出。如果在批處理中?

但是當我運行蝙蝠和獲得兩個else在...

If %%~zA Lss %MaxByteSize% (msg * algo) Else (
msg * O ficheiro exedeu 29Gb, diriga-se a Informatica)) 

...並且有,例如另一批或vb程序,它會打開它不止一次,這是煩人。

有沒有一種方法,使之可以不喜歡的東西打開幾次:

If %%~zA Lss %MaxByteSize% (msg * algo) 
Else (
If %something% lss 1 (msg * O ficheiro exedeu 29Gb, diriga-se a Informatica) 
Else () 
%something%=%something%+1 
) 

我不是代碼,這樣好讓在這裏和那裏就是爲什麼我「抓」代碼。

+4

在命令提示符窗口中運行'if /?'並讀取輸出幫助並查看例如[批處理腳本 - 如果存在./sdcard/file.any使用adb]的答案(http://stackoverflow.com/a/34118487/3074564)和[批處理文件中的IF ELSE語法錯誤?](http://stackoverflow.com/a/25471786/3074564) – Mofi

回答

0

也許你正在尋找的東西是這樣的:

@Echo Off 
Rem If "%~1"=="" Exit/B 

Set "MaxByteSize=31138512896" 

Set "i=0" 
For %%A In ("%LocalAppData%\Microsoft\Outlook\*.ost") Do (
    Rem "%~1" "%~f0" :: "%%~fA" 
    If %%~zA Gtr %MaxByteSize% Set/A "i+=1") 
msg * %i% ficheiro exedeu 29Gb, diriga-se a Informatica 

如果你真的用一個參數運行腳本,然後刪除的Rem兩個實例。