windows - Få besked 0 var uventet på dette tidspunkt batch script

Indlæg af Hanne Mølgaard Plasc

Problem




    Dette spørgsmål har allerede et svar her:

    

            

  •             Eksempel på forsinket ekspansion i batchfil
                    
                        3 svar
                    

            

  •         

  •             Variabler i batch opfører sig ikke som forventet
                    
                        1 svar
                    

            

  •     

Bedste reference


Du skal aktivere forsinket ekspansion med setlocal enabledelayedexpansion og derefter bruge det med !var! i stedet for \%var\%: /questions/10558316/example-of-delayed-expansion-in-batch-file [[/questions/30282784/variables-in-batch-not-behaving-as-expected


@echo off
setlocal enabledelayedexpansion
IF "\%Logs\%"=="true" (
    for /f \%\%i in ('dir /ad /b "\%Device\%logs" ^|find /c /v ""') do set cmd=\%\%i
    if !cmd! GTR 0 (
       echo Folder does exist.
    )
)


Bemærk: For en tom mappe får du en værdi på 2 (på grund af . og ..). Enten tilpasse sig til ... GTR 2 eller brug en anden tilgang (som ovenfor).