标题: [文件操作] 批处理桌面手动执行没有问题,但封装工具调用执行不生效 [打印本页]
作者: 逍遥kent 时间: 2022-4-2 23:05 标题: 批处理桌面手动执行没有问题,但封装工具调用执行不生效
- @echo off
- >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
- if '%errorlevel%' NEQ '0' (
- goto UACPrompt
- ) else ( goto gotAdmin )
- :UACPrompt
- echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
- echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
- "%temp%\getadmin.vbs"
- exit /B
- :gotAdmin
- if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
-
- del /f /s /q /a "C:\ProgramData\Microsoft\Windows\Start Menu\驱动下载.lnk"
- del /f /s /q /a "C:\Windows\Help\dcold.exe"
- del /f /s /q /a "C:\ProgramData\「开始」菜单\驱动下载.lnk"
- rd /s /q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\驱动总裁2.0"
- rd /s /q "C:\ProgramData\「开始」菜单\Programs\驱动总裁2.0"
- rd /s /q "C:\Program Files\SysCeo"
- rd /s /q "C:\Windows\Temp\~DrvCeoLog"
- rd /s /q "C:\Windows\Temp\~ScLog"
- rd /s /q "C:\Users\Administrator\AppData\Local\Microsoft\Edge"
- rd /s /q "C:\Users\Administrator\AppData\Local\360Chrome"
- rd /s /q "C:\Users\Administrator\AppData\Local\360ChromeX"
- rd /s /q "C:\Users\Administrator\AppData\Local\google"
- rd /s /q "C:\Users\Administrator\AppData\Local\liebao"
- rd /s /q "C:\Users\Administrator\AppData\Local\Maxthon"
- rd /s /q "C:\Users\Administrator\AppData\Local\Tencent"
- rd /s /q "C:\Users\Administrator\AppData\Local\TheWorld6"
- rd /s /q "C:\Users\Administrator\AppData\Roaming\360Quarant"
- rd /s /q "C:\Users\Administrator\AppData\Roaming\360se6"
- rd /s /q "C:\Users\Administrator\AppData\Roaming\IQIYI Video"
- rd /s /q "C:\Users\Administrator\AppData\Roaming\Opera Software"
- rd /s /q "C:\Users\Administrator\AppData\Roaming\SogouExplorer"
- rd /s /q "C:\Program Files\UNP"
- rd /s /q "C:\DrvPath"
复制代码
作者: Batcher 时间: 2022-4-3 08:32
回复 1# 逍遥kent
把UAC相关的代码删掉,再试试封装工具调用是否生效?猜测是这一段内容导致的,尤其是 "%~s0" 这个地方可能性较大
作者: Batcher 时间: 2022-4-3 08:33
回复 1# 逍遥kent
以管理员权限运行有多种方法,试试哪个能在你的封装工具里面成功:
http://bbs.bathome.net/thread-49107-1-1.html
作者: 逍遥kent 时间: 2022-4-3 10:04
回复 2# Batcher
这个批处理的目的是为了封装系统部署进桌面时调用删除驱动总裁残留的一些文件,在桌面手动执行是没有问题的,该删的都删除了,但用系统总裁的封装工具调用时就没有效果(部署后、登录时、进桌面都试过),前面一段是网上找的获取管理员权限代码,这一段本来是没有的,本来想着是不是管理员权限的问题,但是加了这段代码调用依然无效,尝试过加入系统启动项执行,也没有用,必须要手动鼠标点击执行才能生效,不知道这是为什么?还得请向大神们解答。。
作者: 逍遥kent 时间: 2022-4-3 10:16
本帖最后由 逍遥kent 于 2022-4-3 10:20 编辑
回复 3# Batcher
个人已以下理由 判断和管理员权限没有什么关系,不知道对不对?1、不加获取管理员权限的代码,直接手动运行,也能成功。2、不用鼠标右键获取管理员权限运行也能成功。3、将批处理文件加入系统启动项运行,也不能成功,是不是可以排除是封装工具调用出现的问题。
作者: Batcher 时间: 2022-4-3 10:22
回复 4# 逍遥kent
1、顶楼代码第1行到第13行全部删掉,从第14行开始在封装工具里面或启动项里面逐步测试:
del /f /s /q /a "C:\ProgramData\Microsoft\Windows\Start Menu\驱动下载.lnk" >"D:\1.log" 2>&1
看看bat脚本到底是没被被调用还是执行出错了。
2、然后逐行添加,看看到哪一步卡住了:
del /f /s /q /a "C:\ProgramData\Microsoft\Windows\Start Menu\驱动下载.lnk" >"D:\1.log" 2>&1
del /f /s /q /a "C:\Windows\Help\dcold.exe" >>"D:\1.log" 2>&1
3、再继续:
del /f /s /q /a "C:\ProgramData\Microsoft\Windows\Start Menu\驱动下载.lnk" >"D:\1.log" 2>&1
del /f /s /q /a "C:\Windows\Help\dcold.exe" >>"D:\1.log" 2>&1
del /f /s /q /a "C:\ProgramData\「开始」菜单\驱动下载.lnk" >>"D:\1.log" 2>&1
作者: 逍遥kent 时间: 2022-4-3 23:59
回复 6# Batcher
最后把bat文件转成exe文件,调用执行成功!!!感谢大神耐心解答!!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |