在 Windows 命令提示符中,我运行
"C:\foo.exe" file.asdf
然后 foo.exe 被打开。
但是,如果我运行:
start "C:\foo.exe" file.asdf
然后打开 bar.exe。
bar.exe 被定义为与 Windows 注册表中的 *.asdf 文件关联的默认应用程序。
** 注册表值:**
注册表项 | 价值 |
---|---|
HKEY_CLASSES_ROOT.asdf | 应用程序.asdf |
HKEY_CLASSES_ROOT\APPLICATION.asdf\shell\open\command | "C:\bar.exe" "%1" |
有人可以解释为什么会这样,以及如何让启动命令运行 foo.exe 而不会篡改注册表?
for 的语法在
start
技术上更接近:因此,像这样的命令将尝试并
test.bat
以窗口标题运行notepad
:要
test.bat
使用记事本打开,请给出start
要使用的标题:有关语法规则的更多信息,请查看Start文档。