找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17943|回复: 2

[注册表类] [已解决]批处理在uninstall之后系统变量变为!newPath!23H2

[复制链接]
发表于 2023-8-3 01:02:41 | 显示全部楼层 |阅读模式
本帖最后由 BingjianREMIX 于 2023-9-15 22:23 编辑

如题,在如下代码中,执行后,前两项reg均可成功执行(达到预期效果),第三项reg是删除注册表指定一项系统变量,在本站找到过年代久远的贴,无帮助,想看看现在的结果能不能行
我也在其他地方了解过大概思路,就是先存储现在path以备份,然后拆分path每部分验证是否相同,将不相同的保存到newpath中,之后保存newpath
现代码出现系统变量为!newPath!23H2
  1. :uninstall
  2. echo MICRODOS Version 24.0 23H2 is being completely removed from your computer!
  3. echo It is about a few seconds.PLEASE.WAIT!
  4. rd /q /s MICRODOS
  5. reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MICRODOS v24.0 23H2" /f
  6. reg delete "HKEY_CLASSES_ROOT\%ProgramName%" /f
  7. set "removePath=%programpath%\MICRODOS\MICRODOS Version 24.0 23H2.exe"
  8. for /f "tokens=2*" %%A in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path') do (
  9.     set "pathValue=%%B"
  10. )
  11. set "newPath="
  12. for %%A in (%pathValue%) do (
  13.     if /i not "%%A"=="%removePath%" (
  14.         set "newPath=!newPath!%%A;"
  15.     )
  16. )
  17. echo Uninstall complete!
  18. echo Please push any key to continue!
  19. pause>nul
  20. goto :window
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2023-8-3 01:05:13 | 显示全部楼层
希望现在的代码能够尽量简洁一些,昨天已经通宵了一天,如没有及时回复,请见谅
发表于 2023-8-3 06:10:50 | 显示全部楼层
第一行
setlocal enabledelayedexpansion
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 16:44 , Processed in 0.018597 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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