我在 Windows 10.0.16299.125 。
我的批处理文件中的代码:
@echo off
for /f "delims=" %%a in ('ver') do echo %%a
输出:
'ver' is not recognized as an internal or external command,
operable program or batch file.
我发现,如果我没有管理员,它会带有此错误。
但是,批处理文件始终双击它,即使我以管理员帐户为单位,请按照正常右运行。
它在之前正常工作,但最近才破裂。
我已经确认了我的注册表和环境变量:
Reg: HKCRbatfileshellopencommand: "%1" %*
Env: ComSpec=C:WINDOWSsystem32cmd.exe
是否正常命令无法正常工作?
我正在尝试通过运行sfc.exe /scannow
来还原cmd.exe。感谢您的帮助!
编辑:我尝试了sfc /scannow
。完成后,我检查了"%windir% logs cbs cbs.log"
C:WINDOWSsystem32>findstr "cmd.exe" %WinDir%LogsCBSCBS.log
2018-02-12 01:14:47, Info CSI 00000007 Hashes for file member [l:7]'cmd.exe' do not match.
2018-02-12 01:15:56, Info CBS Repr: Add missing payload:amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.16299.15_none_adf8f2af8b80fc99cmd.exe
(p) CSI Payload Corrupt (Fixed) amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.16299.15_none_adf8f2af8b80fc99cmd.exe
2018-02-12 01:26:24, Info CSI 00001290 Hashes for file member [l:7]'cmd.exe' do not match.
2018-02-12 01:26:24, Info CSI 00001291 [SR] Repairing corrupted file ??C:WINDOWSSystem32cmd.exe from store
2018-02-12 01:36:47, Info CSI 000067ab Hashes for file member [l:7]'cmd.exe' do not match.
2018-02-12 01:36:47, Info CSI 000067ac [SR] Repairing corrupted file ??C:WINDOWSSystem32cmd.exe from store
日志似乎成功地修复了cmd.exe。但是,当我再次尝试时,FOR
仍然失败...
我弄清楚了。
我的cmd.exe是一个人打破的。我将F2KO的软件用于将CMD.EXE转换为Admin Right 并更换了它。我希望我可以自动运行脚本(.bat(。
这是导致此错误的。我还原了最新版本的CMD.exe的原始备份,现在它正常工作。
我要找到适当的解决方案,可以用管理权启动批处理文件。