
In meiner Batchdatei versuche ich, eine Variable nach einem Unterstrich aufzurufen. Aber die Variable wird nicht erkannt, wenn sie nach einem Unterstrich hinzugefügt wird.
set /p X=Folder name:%=%
mkdir Delta_%X%
Daher erstellte Windows für den obigen Code ein Verzeichnis mit dem Namen Delta_ statt Delta_{vom Benutzer für X angegebener Ordnername}.
Um diese Situation zu umgehen, habe ich den Unterstrich einer anderen Variable zugewiesen und beide Variablen aufgerufen. Das funktioniert einwandfrei. Ich wollte prüfen, ob es eine andere (korrekte) Möglichkeit gibt, dieses Problem zu lösen.
Problemumgehung:
set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%
Antwort1
Mit beiden beschriebenen Methoden ist das Hinzufügen eines Unterstrichs kein Problem. Sie können Ihrer %X%
Variable jedoch auch wie folgt einen Unterstrich hinzufügen:
set /p X=Folder name:
set X=_%X%
oder Sie könnten Delta_ folgendermaßen hinzufügen:
set X=Delta_%X%
Natürlich möchten Sie dies möglicherweise nicht tun, wenn Sie die eigentliche Benutzereingabe für später aufbewahren müssen. In diesem Fall können Sie stattdessen Folgendes tun:
set /p X=Folder name:
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%