
No meu arquivo em lote, estou tentando chamar uma variável após o sublinhado. Mas a variável não será reconhecida se for adicionada após um sublinhado.
set /p X=Folder name:%=%
mkdir Delta_%X%
Portanto, o Windows estava criando um diretório com o nome Delta_ em vez de Delta_{Nome da pasta fornecido pelo usuário para X} para o código acima.
Para contornar esta situação atribuí sublinhado a outra variável e chamei ambas as variáveis e funcionou bem. Queria verificar se existe outra maneira (correta) de lidar com esse problema.
Gambiarra:
set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%
Responder1
Não há problema em adicionar um sublinhado usando qualquer um dos métodos descritos. No entanto, você também pode adicionar um sublinhado à sua %X%
variável assim:
set /p X=Folder name:
set X=_%X%
ou você pode adicionar Delta_ assim:
set X=Delta_%X%
Claro, você pode não querer fazer isso se precisar preservar a entrada real do usuário para mais tarde. Se for esse o caso, você pode fazer isso:
set /p X=Folder name:
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%