CMD脚本:如何关闭CMD

8

我创建了一个小命令,可以让我启动Internet Explorer。然而,我希望关闭启动IE时出现的小命令提示符。我该怎么做?这是我的当前代码:

"%ProgramFiles%\Internet
Explorer\iexplore.exe"
http://localhost/test.html
PAUSE

我猜如果我去掉 Pause 命令,那么在关闭 IE 时它会关闭 CMD 窗口吗?
另外,是否有另一种命令可以让我创建一个带有小图标的菜单项,该菜单项运行上述命令。这很复杂吗?有任何教程可以使用吗?
谢谢大家!

你想把命令添加到哪个菜单?是添加到资源管理器的上下文菜单吗? - Dirk Vollmar
7个回答

16

使用 start 命令:

start "title" "%ProgramFiles%\Internet Explorer\iexplore.exe" http://www.example.com

有趣的是,它似乎启动了默认浏览器,因为它为我启动了 FireFox :) - Russ Cam
为什么要用"title"??使用 "start" "" "foo.exe" - Anders
这并没有什么特别的原因,只是为了让示例更加明确。我认为人们可能会对空字符串作为第一个参数感到疑惑。但是看起来我错了;-) - Dirk Vollmar
@Russ:你是不是忘了指定标题的第一个参数?如果你没有指定,start.exe 将使用可执行文件路径作为标题,然后启动 URL,这将由默认浏览器打开。 - Dirk Vollmar

8
你需要在最后添加这个。
&& exit

例如
"%ProgramFiles%\Internet Explorer\iexplore.exe" http://google.co.uk && exit 

奇怪,我已经将EXIT放在最后,但只有在关闭IE后它才会关闭。我希望在它生成IE进程时就能关闭它,这可能吗? - Abs
刚刚尝试了一下,同样的问题还是出现了。顺便说一下,我是在Vista上操作,如果这能帮到你!我原以为这会很容易,但我还没有成功!非常感谢任何形式的帮助。 - Abs
如果我在顶部放置一个退出,显然它会关闭CMD! - Abs
没问题。我按照建议使用了“start title”来解决问题。感谢您的持续帮助。顺便问一下,您在运行什么操作系统?我担心我的当前解决方案可能无法在大多数Windows版本上运行! - Abs
啊,我现在明白了。这是用于交互式调用的。 - Dirk Vollmar
显示剩余4条评论

4
@echo off
start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "http://www.example.com"
exit /b

但是你真的不应该强制使用IE,而应该使用默认浏览器:

@echo off
start http://www.example.com
exit /b

据我所知,exit /b在Win9x上不起作用,因此如果您需要支持每个Windows版本并在用户双击批处理文件时关闭终端窗口,请使用以下方法:

@echo off
start http://www.example.com
cls

1
但是你真的不应该强制使用IE,而应该使用默认浏览器:也许要求是针对某个URL强制使用IE?我猜原帖作者会更清楚;-) - Dirk Vollmar

2
您也可以使用/c开关启动程序,该开关在执行完成后终止cmd。
例如:
cmd /c "%ProgramFiles%\InternetExplorer\iexplore.exe" http://localhost/test.html

1

在启动每个程序之前,您必须在其前面添加“start”,否则您的脚本将等待直到该程序运行完毕。


这刚刚生成了另一个CMD提示符! - Abs
把它放在你的IE前面,这就是我想用编程说的话。 - svens
另一个技巧是添加 "start explorer.exe " 和程序,这相当于在 Windows 中启动应用程序。 - Bernardo Dal Corno

0

虽然有点晚了,但在最小化模式或隐形模式下运行它可能是另一个选择。来源:https://www.winhelponline.com/blog/run-bat-files-invisibly-without-displaying-command-prompt/

以最小化窗口状态运行.BAT或.CMD文件 要在最小化窗口状态下运行批处理文件,请按照以下步骤操作:

  1. 创建.BAT或.CMD文件的快捷方式。为此,请右键单击该文件,单击“发送到”,“桌面(创建快捷方式)”
  2. 右键单击快捷方式,选择“属性”
  3. 在“运行:”下拉菜单中,选择“最小化”
  4. 单击“确定”
  5. 双击快捷方式以在最小化窗口状态下运行批处理文件。

0

“小心间隙!”

命令提示符始终将空格作为分隔符,除非它被双引号包围。 因此,如果任何路径程序/文件名包含空格的任何内容必须用引号括起来。

  • 例如: "C:/Program files/..." 路径/目录或 "Any Program/Command/File.exe/cmd/txt..." 程序/命令/文件名包含空格。

语法:

> start /?
Starts a separate window to run a specified program or command.
START ["title"] [/D path] (start swiches here...) [command/program] (com/prog-parameters here)

start "" /d "Drive:/the/Program/Path/..." "Command/Program Name.extension" "File-Name.extension"

因此,通常的错误是: 如果您没有为标题设置第一组引号""(即使没有任何内容需要包含),那么START命令会将第一组引号内的内容(例如路径!或程序名称!)设置为标题...当然,这会导致混乱。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接