Has anyone else use this construct ?
Posted: 19 Apr 2013 21:38
It works it seems for dirty cmd line parrameters?
Code: Select all
if !"%~1" equ ""! goto :whatever
A Forum all about DOS Batch
https://www.dostips.com/forum/
Code: Select all
if !"%~1" equ ""! goto :whatever
Code: Select all
@echo off
setlocal enableextensions enabledelayedexpansion
echo.
echo SETLOCAL with ENABLEDELAYEDEXPANSION
if !"%~1" equ ""! goto :whatever
echo.
echo First parameter: %1
goto :eof
:whatever
echo.
echo No parameter.
Code: Select all
@echo off
setlocal enableextensions disabledelayedexpansion
echo.
echo SETLOCAL with DISABLEDELAYEDEXPANSION
if !"%~1" equ ""! goto :whatever
echo.
echo First parameter: %1
goto :eof
:whatever
echo.
echo No parameter.
Code: Select all
C:\Test2>test40
SETLOCAL with ENABLEDELAYEDEXPANSION
No parameter.
C:\Test2>test40 Hallo Peggy Sue
SETLOCAL with ENABLEDELAYEDEXPANSION
First parameter: Hallo
C:\Test2>test40
SETLOCAL with DISABLEDELAYEDEXPANSION
First parameter:
C:\Test2>test40 Hallo Peggy Sue
SETLOCAL with DISABLEDELAYEDEXPANSION
First parameter: Hallo
C:\Test2>
Code: Select all
@ECHO OFF & setlocal disabledelayedexpansion
if !"%~1" equ ""! (echo equal) else echo not equal
setlocal enabledelayedexpansion
if !"%~1" equ ""! (echo equal) else echo not equal
Code: Select all
not equal
equal
Code: Select all
not equal
not equal
Define "dirty" and "work"carlsomo wrote:It works it seems for dirty cmd line parrameters?
Except if the parameter is ^" or ^^ or other "dirty" variations.Endoro wrote:Output .. with parameter: