我在 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: HKCR\batfile\shell\open\command: "%1" %*
Env: ComSpec=C:\WINDOWS\system32\cmd.exe
没有管理员权限,FOR命令无法正常工作,这是正常的吗?
我正在尝试通过运行sfc.exe /scannow
来恢复cmd.exe。谢谢你的帮助!!
修改:我试过了sfc /scannow
。完成后,我检查了“%WinDir%\ Logs \ CBS \ CBS.log”
C:\WINDOWS\system32>findstr "cmd.exe" %WinDir%\Logs\CBS\CBS.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_adf8f2af8b80fc99\cmd.exe
(p) CSI Payload Corrupt (Fixed) amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.16299.15_none_adf8f2af8b80fc99\cmd.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:\WINDOWS\System32\cmd.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:\WINDOWS\System32\cmd.exe from store
FOR
仍然失败了...... 答案 0 :(得分:1)
我明白了。
我的cmd.exe被自己打破了。 我使用f2ko的软件将cmd.exe转换为管理员权限并替换它。 我希望我能自动运行Admin脚本(.bat)。
这就是造成这个错误的原因。 我恢复了最新版cmd.exe的原始备份,现在它可以正常工作。
我将找到一个正确的解决方案,以管理员权限启动批处理文件。