我有这个批处理文件,它会在启动文件夹中创建一个批处理文件,用于打开网站的特定 URL。我的问题是,每次运行它时,它都会打开一个空的命令提示符。
批处理脚本运行良好,它使用 Web 浏览器打开网站 URL,但它只会打开一个额外的 CMD 窗口,而我不希望这种情况发生。注意:我不是在问如何在后台运行 CMD 窗口。
代码如下:
@echo off
cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo start (link) >> startup.bat
start startup.bat
有人能帮忙指出我可以做哪些改变来解决这个问题吗?
答案1
你可以使用称呼并添加/MIN
开关开始命令使其更加隐蔽,并确保运行时 CMD 窗口消失按照上面示例中的逻辑设置方式。
我做了一些快速调整并添加了这个逻辑,以便您获得我使用的内容的确切示例,并确认它可以工作,正如您解释的那样,您需要它工作。
示例脚本
@echo off
CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat
CALL startup.bat
EXIT /B
更多资源
答案2
请查看以下链接:
如果链接无法访问,则一个答案指出要创建包含以下内容的 vbs 脚本:
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
其中“your_batch_file.bat”是您的批处理文件的名称。
将以上内容保存为 Visual Basic 脚本,例如:example.vbs 并运行它。
答案3
原因及解决方法如下:
默认情况下,START 将运行相当于 CMD /K 的命令,它会打开第二个命令窗口并使其保持打开状态。在大多数情况下,您希望批处理脚本完成,然后关闭其 CMD 控制台以恢复初始批处理脚本。这可以通过明确运行 CMD /C ... 来完成
Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done