如果在Windows批处理文件中声明

c14*_*kaa 4 windows cmd batch-file

我一直坚持这个愚蠢的if语句,无论我做什么,我都无法得到if语句去正确的标签.

  1. 点击'y'有效,cmd-prompt在START DEPLOY停止
  2. 但是,如果我输入'n'cmd打印START DEPLOY然后转到结束,而不是直接转到取消标签.

你能帮我吗?

:getConfirmation
set /p confirmDeploy =Confirm deployment of code [y/n] ?: 
if "%confirmDeploy%"=="y". goto deployCode
if "%confirmDeploy%"=="n". goto cancelDeploy

:deployCode
ECHO START DEPLOY
goto end

:cancelDeploy
ECHO DEPLOY CANCELLED
goto end
Run Code Online (Sandbox Code Playgroud)

Bal*_*i C 16

试试这个:

@echo off
:getConfirmation
set /p confirmDeploy=Confirm deployment of code [y/n] ?: 
if %confirmDeploy%==y goto :deployCode
if %confirmDeploy%==n goto :cancelDeploy

:deployCode
ECHO START DEPLOY
goto end

:cancelDeploy
ECHO DEPLOY CANCELLED
goto end
Run Code Online (Sandbox Code Playgroud)

  • 最好用引号"如果"%confirmDeploy%"=""y"`括起来,否则它会输入空的输入或者像`&| <space> <TAB>这样的特殊字符. (4认同)