pat*_*pat 5 windows windows-registry shell command-line cmd.exe
我试图通过注册表注册一个shell打开命令,并想打开多个程序,所以我这样试过:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\myFile\Shell\Open\Command]
@="cmd /k calc & notepad & exit"
Run Code Online (Sandbox Code Playgroud)
calc并且notepad只是一个例子来证明它。
如果我这样使用它,计算器和记事本都打开了,但命令提示符仍然打开,直到我关闭记事本。如果我将其更改为cmd /k calc & calc & exit,则会得到 2 个计算器实例,并且命令提示符会根据需要关闭。
为什么它不能与记事本一起使用?
有人知道另一种在注册表中使用 shell open 命令启动多个程序而不让命令提示符保持打开状态的方法吗?
您可以使用以下命令来完成此操作:
cmd /k start calc & start notepad & exit
Run Code Online (Sandbox Code Playgroud)
因此将你的.reg文件变成:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\myFile\Shell\Open\Command]
@="cmd /k start calc & start notepad & exit"
Run Code Online (Sandbox Code Playgroud)
工作正常(在 Windows 10 中,但在 Windows 7 中不行)的原因calc是该calc.exe进程启动了另一个进程 ( Calculator.exe),然后退出,从而允许命令继续执行。
对于 来说情况并非如此notepad.exe,这意味着该命令卡在那里等待notepad.exe关闭。
该start命令用于在单独的窗口中启动进程,以便cmd可以继续下一步。
| 归档时间: |
|
| 查看次数: |
6937 次 |
| 最近记录: |