L'un des meilleurs semi solutions de copier - %1
dans une variable et ensuite utiliser expansion retardée, comme delayedExp. est toujours en sécurité à l'encontre de tout contenu.
set "param1=%1"
setlocal EnableDelayedExpansion
if "!param1!"=="" ( echo it is empty )
rem ... or use the DEFINED keyword now
if defined param1 echo There is something
L'avantage, c'est que le fait de traiter avec param1 est absolument sûr.
Et le réglage de param1 permettra de travailler dans de nombreux cas, comme
test.bat hello"this is"a"test
test.bat you^&me
Mais il échouera avec l'étrange contenu comme
test.bat "&"^&
Si vous voulez être 99% de preuve de balle, vous pourriez lire le Comment recevoir même le plus étrange des paramètres de ligne de commande?