2017-03-02 72 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两个实例。