:gethostname
set /p hostname= Enter the HOST NAME:
call :TRIM2 %hostname% hostname
:TRIM2
SET %2=%1
goto y
:y
if "%hostname%"=="" (
echo Invalid hostname name1
VERIFY > nul
goto gethostname
)
if errorlevel 1 (
echo Invalid hostname name2
VERIFY > nul
goto gethostname
)
在上面的代码中,如果我尝试在下面的特定行上终止批处理(ctrl + c)。
ENTER the HOST NAME:
脚本将ctrl + c作为输入读取并显示
Invalid hostname name1
如何避免这种情况并在ctrl + c上终止批处理。 即使我删除了修剪部分,上述行为也是一样的。
提前致谢。
答案 0 :(得分:1)
虽然这并没有完全抑制此行为,但最小化它并且几乎总是显示取消提示。
:gethostname
set /p "hostname= Enter the HOST NAME:" || goto gethostname
答案 1 :(得分:0)
这是一种解决方法 - 只需按enter
而不使用任何文字而不是control-c
:gethostname
set "hostname="
set /p "hostname= Enter the HOST NAME: "
if not defined hostname goto :EOF
call :TRIM2 %hostname% hostname