我正在运行 Windows 7 x64,最近安装了一个Corsair Scimitar Pro 鼠标和iCue 3.5.111驱动鼠标的特殊功能,例如可编程侧键。
我正在尝试使用第三方应用程序将 Windows 声音控制面板中切换默认音频设备的功能映射到鼠标按钮#8,nircmd. 批处理文件“audioswitch.bat”中引用了 nircmd 可执行文件 (nircmd.exe),该文件应该从 iCue 启动。
但是,当我按下鼠标按钮时,批处理文件从未启动,即使我已经选择了要在 iCue 中启动的批处理文件:
值得一提的是,我可以直接通过 iCue 执行 .exe 文件,没有任何问题。但启动批处理文件似乎不起作用。我很想知道是否有人知道我如何解决这个问题。我非常感谢任何意见。
答案1
我发现 iCue 似乎从 iCue.exe 的位置启动批处理文件,因此即使它运行的批处理文件与 nircmd.exe 位于同一目录中,它也找不到 nircmd。要解决此问题,您可以将 nircmd 添加到系统 PATH 变量中,或者将批处理文件更改为以下内容:
"C:\pathtoexecutable\nircmd" setdefaultsounddevice "MoBo" 1
"C:\pathtoexecutable\nircmd" setdefaultsounddevice "MoBo" 2
答案2
尝试:
c:\windows\system32\cmd.exe /c “c:\thepathto\your.bat”
仔细检查 cmd.exe 的保存位置。可能是c:\windows
应该很容易弄清楚。再检查一下标志。但你所说的是:使用读取 bats 的命令处理器,运行此 bat 文件并在完成后关闭 (/c) /k 表示保留。但你可以从命令行运行cmd.exe /?
并提醒你标志。
这应该可以解决问题,因为它正在运行本机可执行文件,然后运行脚本。bat 只在您使用 Windows shell 正常打开它时才有意义。例如单击它。程序内部可能独立于 shell 运行,许多程序都是这样,这超出了本文的范围。