找不到带数字的变量

时间:2017-03-01 14:53:46

标签: batch-file cmd

echo off
SETLOCAL EnableDelayedExpansion
set caminho="C:\Users\%username%\AppData\Local\Microsoft\Outlook"

set maxbytesize=10



for /F %%i in ('dir /b "C:\Users\%username%\AppData\Local\Microsoft\Outlook\*.ost"') do (


   set directoria=%caminho%\%%i

%1 %0 :: %directoria%
set len=%~z2

if %len% LSS %maxbytesize% (
msg * algo
PAUSE

) ELSE (
msg * O ficheiro exedeu 29Gb, diriga-se a Informatica

)

)

我不是很好,所以我需要一些帮助。 我有一个类似的代码,但当我“转换”成这个时,它开始说10 is not expected为10 %maxbytesize%。 有一些方法可以使这项工作或我需要重新开始??

1 个答案:

答案 0 :(得分:0)

这些变量都不需要设置,因为它们不在代码之外使用或在代码中操作:

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

Set "MaxByteSize=31138512896"

For %%A In ("%LocalAppData%\Microsoft\Outlook\*.ost") Do (
    Rem "%~1" "%~f0" :: "%%~fA"
    If %%~zA Lss %MaxByteSize% (msg * algo) Else (
        msg * O ficheiro exedeu 29Gb, diriga-se a Informatica))

如果您确实使用单个参数运行脚本,则删除 Rem 的两个实例。