首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows批处理忽略if else

windows批处理忽略if else
EN

Stack Overflow用户
提问于 2017-05-05 03:19:58
回答 3查看 254关注 0票数 0

我的批处理脚本似乎跳过了if else部分...或者它就这么死了..。我不知道。

为什么会这样呢?

代码语言:javascript
复制
@echo on
echo Welche URL soll in Chrome geoeffnet werden? (Enter = lamp.dev)
echo Die URL bitte ohne http/https
echo.
set /p url=URL: 
pause
IF %url="" (
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://lamp.dev --new-window "https://lamp.dev"
)ELSE(
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://%url% --new-window "https://%url%"
)
pause
EN

回答 3

Stack Overflow用户

发布于 2017-05-05 03:31:30

我会像这样简化它:

代码语言:javascript
复制
@echo off
echo Welche URL soll in Chrome geoeffnet werden? (Enter = lamp.dev)
echo Die URL bitte ohne http/https
echo.
set /p url=URL: 
pause
IF NOT DEFINED url SET "url=lamp.dev"
"%ProgramFiles(x86)%\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://%url% --new-window "https://%url%"
pause
票数 2
EN

Stack Overflow用户

发布于 2017-05-05 03:32:25

通过将变量封装在%中来引用它们。使用"%url%"==""代替%url=""

此外,您应该用引号将set /p命令括起来,以显示末尾的空格,并使用if not defined url检查是否定义了变量。

代码语言:javascript
复制
@echo off
echo Welche URL soll in Chrome geoeffnet werden? (Enter = lamp.dev)
echo Die URL bitte ohne http/https
echo.
set /p "url=URL: "
if not defined url (
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://lamp.dev --new-window "https://lamp.dev"
) else (
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://%url% --new-window "https://%url%"
)
票数 0
EN

Stack Overflow用户

发布于 2017-05-05 09:53:52

对于if语句,因为它是一个字符串变量,所以需要将if括在括号中。您还忘了添加结束%

代码语言:javascript
复制
set /p url=URL: 
pause
IF "%url%"="" (
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://lamp.dev --new-window "https://lamp.dev"
)ELSE(
    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --unsafely-treat-insecure-origin-as-secure=https://%url% --new-window "https://%url%"
)
pause

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43791167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档