我有一个为每个用户运行的登录脚本。首先检查用户名是否与我们的考试用户(考试)匹配。如果匹配,则启动 Firefox 到考试主页并停止。
这些命令单独起作用。当我调用该.bat
文件时,它会启动 Internet Explorer 到该网站。我做错了什么?
@echo off
REM Exam Startup - Username is "exam", then start the Exam website, and exit the script
if %USERNAME% EQU exam (
if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
if exist "%PROGRAMFILES(x86)%\Mozilla Firefox\firefox.exe" start "%PROGRAMFILES(x86)%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
exit
)
...
REM rest of script
答案1
我究竟做错了什么?
if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
你无权"title"
指挥start
。
如果没有,
"title"
则start
解析"%PROGRAMFILES%\Mozilla Firefox\firefox.exe"
为标题(因为它以 开头"
)并"https://www.example.com/"
解析为要执行的命令。执行该命令
"https://www.example.com/"
会导致默认浏览器打开该 URL。
尝试""
添加start
:
if exist "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" start "" "%PROGRAMFILES%\Mozilla Firefox\firefox.exe" "https://www.example.com/"
句法
START "title" [/D path] [options] "command" [parameters] Key:
title
CMD 窗口标题栏的文本(必需)。path
起始目录。command
要运行的命令、批处理文件或可执行程序。parameters
传递给命令的参数。
...
始终包含一个
title
,可以是一个简单的字符串,"My Script"
或者只是一对空引号""
根据 Microsoft 文档,标题是可选的,但根据所选的其他选项,如果省略标题,则可能会遇到问题。
来源开始
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 开始- 启动程序、命令或批处理脚本(在新窗口中打开)。