以管理员身份运行bat文件,没有任何反应,怎么办?
我写了一个bat文件,代码如下,用来修改注册表。双击运行文件,正常运行,但到注册表的部分会提示“错误:拒绝访问”;右键菜单以管理员身份运行文件,则没有任何反应。
请问是怎么回事?该如何解决?
@echo off
color 0a
title 资源管理器从Win11转回Win10
echo.
echo ---------------------------数据处理中!请勿关闭!---------------------------
echo ---------------------------数据处理中!请勿关闭!---------------------------
echo.
echo.
echo --------------------------- 修改注册表 ----------------------------
echo.
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" /v "{e2bf9676-5f8f-435c-97eb-11607a5bedf7}" /f
rem 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions中新建项Blocked,并新建字符串值{e2bf9676-5f8f-435c-97eb-11607a5bedf7}
echo.
echo --------------------------- 结束explorer ----------------------------
echo.
taskkill /f /im explorer.exe
echo.
echo --------------------------- 启动explorer ----------------------------
echo.
start explorer.exe
echo.
echo --------------------------- 任务结束,按任意键关闭窗口 ----------------------------
echo.
pause 管理员打开cmd,在命令行里执行 最大可能权限不够, 权限不够,先提升权限 应该是楼主当前登陆系统账号权限不足,需要设置最高权限再运行管理员身份! 看看注册表里的权限分配情况, 你编辑bat文件,在你的命令前面加上下面这些内容试试:
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit
修改bat文件中的注册表项访问权限:
打开注册表编辑器,导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions。
右键单击 "Blocked" 键,选择 "权限"。
在 "安全" 对话框中,确保您有足够的权限来修改该键。如果您没有权限,请单击 "高级" 按钮。
在 "高级" 对话框中,单击 "所有者" 标签,并将所有权分配给您的用户帐户。
确认更改后,关闭注册表编辑器,并尝试再次运行bat文件。
请注意,修改注册表可能会对系统造成潜在的风险和不稳定性。在进行任何修改之前,请确保您了解正在进行的操作,并备份重要的注册表项。 试试单条命令复制出来挨个手动执行看看报错是啥