吾爱咖啡 发表于 2024-1-5 01:32

以管理员身份运行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

abaooo 发表于 2024-1-5 05:37

管理员打开cmd,在命令行里执行

qz2010 发表于 2024-1-5 06:41

最大可能权限不够,

CQGaxm 发表于 2024-1-5 06:48

权限不够,先提升权限

tl;dr 发表于 2024-1-5 07:00

baoqingzxc 发表于 2024-1-5 07:20

应该是楼主当前登陆系统账号权限不足,需要设置最高权限再运行管理员身份!

weipohai 发表于 2024-1-5 07:22

看看注册表里的权限分配情况,

616666920 发表于 2024-1-5 07:41

你编辑bat文件,在你的命令前面加上下面这些内容试试:
%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit

kurama1982 发表于 2024-1-5 08:06

修改bat文件中的注册表项访问权限:

打开注册表编辑器,导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions。
右键单击 "Blocked" 键,选择 "权限"。
在 "安全" 对话框中,确保您有足够的权限来修改该键。如果您没有权限,请单击 "高级" 按钮。
在 "高级" 对话框中,单击 "所有者" 标签,并将所有权分配给您的用户帐户。
确认更改后,关闭注册表编辑器,并尝试再次运行bat文件。
请注意,修改注册表可能会对系统造成潜在的风险和不稳定性。在进行任何修改之前,请确保您了解正在进行的操作,并备份重要的注册表项。

redstking 发表于 2024-1-5 08:18

试试单条命令复制出来挨个手动执行看看报错是啥
页: [1] 2 3
查看完整版本: 以管理员身份运行bat文件,没有任何反应,怎么办?