我可以在 Windows 控制台中输入他的名字来运行 .bat 和 .cmd 文件,但如果我运行,start "" file.bat
我会收到此错误:System can't run specified program
。
我已经使用一个非常简单的文件进行了测试,test.bat
其内容如下:
echo "hola"
并运行:
start "" test.bat
没有成功。
如果我运行,test.bat
它就可以完美运行。也可以使用cmd /c test.bat
和cmd /k test.bat
。使用启动命令运行 .exe 文件也可以正常工作。
几个月前我安装了 ansicon (https://github.com/adoxa/ansicon) 并且没有问题。
几天前我还安装了 consolez (https://github.com/cbucher/console/releases) 也许我弄坏了什么东西,但我不知道从哪里开始查找。我正在从 cmd.exe 命令行进行测试,而不是从 ConsoleZ 进行测试。
我无法运行还原点,因为我有一个 SSD 硬盘并且禁用了还原点。
答案1
听起来您的 COMSPEC 变量已损坏。在我的 Windows 7 机器上,我有ComSpec=C:\Windows\system32\cmd.exe
。损坏的 COMSPEC 值也会阻止管道工作。
答案2
要更改 COMSPEC 环境变量,您可以(%SystemRoot%\system32\cmd.exe)
使用此文件 .reg 输入默认值:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"ComSpec"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,\
00,6d,00,64,00,2e,00,65,00,78,00,65,00,00,00
笔记:您需要重新启动才能应用新的更改