Es gibt einige Probleme, auf die Sie achten sollten:
Wenn Sie Doppelklicken Sie auf die Batch-Datei %0
wird von Anführungszeichen umgeben sein. Wenn Sie diese Datei zum Beispiel als c:\test.bat
:
@echo %0
@pause
Ein Doppelklick darauf öffnet eine neue Eingabeaufforderung mit Ausgabe:
"C:\test.bat"
Wenn Sie jedoch zunächst eine Eingabeaufforderung öffnen und das Programm direkt von dieser Eingabeaufforderung aus aufrufen, %0
bezieht sich auf das, was Sie getippt . Wenn Sie eingeben test.bat
Enter die Ausgabe von %0
enthält keine Anführungszeichen, weil Sie keine Anführungszeichen eingegeben haben:
c:\>test.bat
test.bat
Wenn Sie eingeben test
Enter die Ausgabe von %0
wird auch keine Erweiterung haben, weil Sie keine Erweiterung eingegeben haben:
c:\>test
test
Dasselbe gilt für tEsT
Enter :
c:\>tEsT
tEsT
Wenn Sie eingeben "test"
Enter die Ausgabe von %0
enthält Anführungszeichen (da Sie sie eingegeben haben), aber keine Erweiterung:
c:\>"test"
"test"
Schließlich, wenn Sie eingeben "C:\test.bat"
wäre die Ausgabe genau so, als ob Sie darauf doppelt geklickt hätten:
c:\>"C:\test.bat"
"C:\test.bat"
Beachten Sie, dass dies nicht alle möglichen Werte sind %0
sein kann, weil Sie das Skript von anderen Ordnern aus aufrufen können:
c:\some_folder>/../teST.bAt
/../teST.bAt
Alle oben angeführten Beispiele betreffen auch %~0
weil die Ausgabe von %~0
ist einfach die Ausgabe von %0
abzüglich der Kostenvoranschläge (falls vorhanden).