|
老外的这个没有获取管理权限的代码,差评!
@echo OFF
REM 先判断管理员权限,无则获取
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
@REM 设置彩色文本的变量
SETLOCAL EnableDelayedExpansion
for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
set "DEL=%%a"
)
echo ------Windows 10 OneDrive 卸载工具 V1.2------
echo.
echo -----------------------------------------------
call :colorEcho 0C " 警告! "
echo.
call :colorEcho 0C " 这个脚本将完全和永久 "
echo.
call :colorEcho 0C " 从你的计算机中删除OneDrive。"
echo.
call :colorEcho 0C " 请确认您所有的OneDrive文件 "
echo.
call :colorEcho 0C " 已经全部保存在本地 "
echo.
call :colorEcho 0C " 请确保在操作之前已经作好备份."
echo.
echo -----------------------------------------------
echo.
echo; "取消请在3秒内按c"
CHOICE /t 3 /C YC /D Y >nul 2>nul
if %errorlevel% equ 1 goto PROCESSKILL
if %errorlevel% equ 2 exit /b 1
@rem 以下是根据来自这里的信息写的 by:'LK'
@rem https://techjourney.net/disable-or-uninstall-onedrive-completely-in-windows-10/
@rem 终止OneDrive的所有进程
:PROCESSKILL
echo.
echo Terminating OneDrive process.
taskkill /f /im OneDrive.exe
@rem 检测操作系统是32位还是64位
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
if %OS%==32BIT GOTO 32BIT
if %OS%==64BIT GOTO 64BIT
@rem 卸载OneDrive应用程序
:32BIT
echo.
echo 这是32位的操作系统
echo 删除OneDrive安装文件。
%SystemRoot%\System32\OneDriveSetup.exe /uninstall
GOTO CLEAN
:64BIT
echo.
echo 这是64位的操作系统
echo 删除OneDrive安装文件。
%SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall
GOTO CLEAN
@rem 清理删OneDrive的残留文件
:CLEAN
echo.
echo 正在处理残留的OneDrive文件夹。
rd "%UserProfile%\OneDrive" /Q /S
rd "%LocalAppData%\Microsoft\OneDrive" /Q /S
rd "%ProgramData%\Microsoft OneDrive" /Q /S
rd "C:\OneDriveTemp" /Q /S
echo.
call :colorEcho 0C "如果你看到"拒绝访问"错误,重启计算机并再次运行该批处理文件。"
echo.
@rem 删除资源管理器中的OneDrive文件夹和注册表键值
echo.
echo 删除OneDrive注册表项。
IF EXIST "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" REG Delete "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
IF EXIST "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" REG Delete "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
REG ADD "HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /v System.IsPinnedToNameSpaceTree /d "0" /t REG_DWORD /f
echo.
echo OneDrive卸载清理完成
echo.
PAUSE
echo 再见,感谢您的使用!
timeout /3 >nul
EXIT /B 1
@rem 设置文本颜色
:colorEcho
echo off
<nul set /p ".=%DEL%" > "%~2"
findstr /v /a:%1 /R "^$" "%~2" nul
del "%~2" > nul 2>&1i |
|