@Echo off
pushd %1 >nul 2>&1
If errorlevel 0 if not errorlevel 1 Echo %~nx1 is a folder
If errorlevel 1 Echo %~nx1 is not a folder
Popd
If /i "%cmdcmdline:~0,6%"=="cmd /c" pause
No entanto, na programação, testamos e não testamos. O teste requer muitos recursos do sistema. Portanto, para testar, então, são necessários dois acessos de disco caros. Fazer e testar o resultado (ou seja, o número retornado 0) é apenas um acesso ao disco e um teste rápido de um número.
rd /s c:\somefolder && Echo Folder deleted || Echo Folder didn't exist
&&
e ||
significam se if errorlevel
é zero ou não zero. É mais fácil do que If errorlevel 0 if not errorlevel 1 echo errorlevel is 0
em várias linhas. Veja meu post aqui Está digitando% ^ em cmd .exe um ovo de páscoa do Windows?