Chamando uma variável após sublinhado no Prompt de Comando do Windows

0

No meu arquivo em lotes estou tentando chamar uma variável após sublinhado. Mas a variável não está sendo reconhecida se adicionada após um sublinhado.

set /p X=Folder name:%=%
mkdir Delta_%X%

Assim, o Windows criava um diretório com o nome Delta_ em vez de Delta_ {Usuário do nome da pasta fornecido para X} para o código acima.

Para contornar essa situação, designei o sublinhado para outra variável e chamei ambas as variáveis e ela funciona bem. Queria verificar se existe outra maneira (correta) de lidar com esse problema.

Solução alternativa:

set /p X=Folder name:%=%
set Z=_
mkdir Delta%Z%%X%
    
por Bhanu Pamidi 03.05.2016 / 00:51

1 resposta

1

Não há problema em adicionar um sublinhado usando o método descrito. No entanto, você também pode adicionar um sublinhado à sua variável %X% da seguinte forma:

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 em vez disso:

set /p X=Folder name: 
set Y=Delta_%X%
echo user entered: %X%
mkdir %Y%
    
por 03.05.2016 / 01:55