我是一个流光,我需要一些程序来流式传输。打开所有这些都很烦人,所以我尝试将它们放在一个批处理文件中。我查看了该过程并按照它进行了操作,但每次运行批处理文件时都会返回无效状态。
这是我的批处理文件的样子:
@echo off
cd C:\Program Files "(x86)\obs-studio\bin\64bit"
start obs64.exe
@echo off
cd "C:\Program Files\HexChat"
start hexchat.exe
@echo off
cd "C:\Program Files (x86)\Nightbot"
start nightbot.exe
exit
Cmd给我一个错误,说它无法找到该文件。当我将它自己放入cmd时,它会打开程序。
还有办法将chrome中的应用程序添加到文件中吗?
答案 0 :(得分:2)
打开命令提示符窗口并在此窗口start /?
内运行,该窗口输出此命令的帮助并解释所有选项。
以下批处理文件很可能有效:
@echo off
start "" "%ProgramFiles(x86)%\obs-studio\bin\64bit\obs64.exe"
start "" "%ProgramFiles%\HexChat\hexchat.exe"
start "" "%ProgramFiles(x86)%\Nightbot\nightbot.exe"
此批处理文件在执行批处理文件时启动3个带有当前目录的应用程序,该文件也是3个已启动应用程序的当前目录。
但如果确实需要以应用程序的目录作为当前目录启动每个应用程序,则应使用以下批处理文件:
@echo off
start "" /D"%ProgramFiles(x86)%\obs-studio\bin\64bit" obs64.exe
start "" /D"%ProgramFiles%\HexChat" hexchat.exe
start "" /D"%ProgramFiles(x86)%\Nightbot" nightbot.exe
使用参数/D
和应用程序文件夹的路径,首先设置开始目录,就像使用命令 CD 时一样。因此,例如hexchat.exe
以此应用程序的当前目录C:\Program Files\HexChat
开始。
命令 START 之后的两个双引号是必需的,因为此命令将第一个双引号字符串解释为进程的标题。通过使用""
,显式指定了一个空标题字符串,从而导致命令行的其余部分按预期正确解释。我认为这3个应用程序都是GUI应用程序而不是控制台应用程序,因此在控制台窗口的新命令过程中运行控制台应用程序时,实际的标题字符串并不是必需的。
%ProgramFiles%
引用预定义的环境变量 ProgramFiles ,其中包含64位Windows上64位应用程序的标准程序文件文件夹的路径默认情况下,在64位Windows上由cmd.exe
执行Windows计算机上的命令行之前由Windows命令解释程序替换。
C:\Program Files
引用预定义的环境变量 ProgramFiles(x86),其中包含64位Windows上32位应用程序的标准程序文件文件夹的路径,并且之前被Windows命令解释程序替换通过%ProgramFiles(x86)%
在Windows计算机上执行命令行。
如果永远不会与其他人共享此批处理文件,当然也可以使用计算机中的实际路径而不是环境变量引用。
额外提示:
在命令提示符窗口中运行要与C:\Program Files (x86)
一起使用的命令作为参数,以显示此命令的帮助。在命令提示符窗口/?
中运行的所有命令和预定义环境变量的其他帮助来源是: