键入后自动退出批处理文件“

时间:2015-09-03 20:15:56

标签: batch-file

我创建了一个批处理文件,如下所示

@echo off
echo  Type Below Requirements:
echo.
:username
set /p usr= Type Username:
if %usr%==[%1]==[] goto username
echo Your username is: %usr%
pause

当我输入任何文本时,这是完美的工作,但如果我输入“批处理是自动退出。

2 个答案:

答案 0 :(得分:2)

这是另一种方式:

@echo off
echo  Type Below Requirements:
echo.
:username
set "usr="
set /p "usr= Type Username: "
if not defined usr goto :username
echo Your username is: %usr%
pause

答案 1 :(得分:0)

首先,比较表达式语法if %usr%==[%1]==[]是错误的,它应该改为if [%usr%]==[]

其次,要正确处理双引号,您需要启用delayed expansion

以下内容应该有效:

@echo off
setlocal EnableDelayedExpansion
echo  Type Below Requirements:
echo.
:username
set usr=
set /p usr= Type Username:
if [!usr!]==[] goto username
echo Your username is: !usr!
pause