无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4203|回复: 7
打印 上一主题 下一主题

[求助] 有懂批处理的大佬吗,有个脚本需要键盘输入Y能帮我改下吗

[复制链接]
1#
发表于 2020-2-23 00:54:19 | 显示全部楼层
老外的这个没有获取管理权限的代码,差评!
@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

点评

无忧真是卧虎藏龙!这个功能太方便了,连右键以管理员身份这一步都省了!谢谢大神!  详情 回复 发表于 2020-2-23 02:36
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-28 00:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表