
En mi archivo por lotes estoy intentando llamar a una variable después del guión bajo. Pero la variable no se reconoce si se agrega después de un guión bajo.
set /p X=Folder name:%=%
mkdir Delta_%X%
Entonces, Windows estaba creando un directorio con el nombre Delta_ en lugar de Delta_{Nombre de carpeta proporcionado por el usuario para X} para el código anterior.
Para solucionar esta situación, asigné un guión bajo a otra variable y llamé a ambas variables y funciona bien. Quería comprobar si existe otra forma (correcta) de manejar este problema.
Solución alterna:
set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%
Respuesta1
No hay ningún problema en agregar un guión bajo utilizando cualquiera de los métodos que usted describe. Sin embargo, también puedes agregar un guión bajo a tu %X%
variable de esta manera:
set /p X=Folder name:
set X=_%X%
o podrías agregar Delta_ así:
set X=Delta_%X%
Por supuesto, es posible que no desee hacer esto si necesita conservar la entrada real del usuario para más adelante. Si ese es el caso, puedes hacer esto en su lugar:
set /p X=Folder name:
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%