[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[注册表类] 【已解决】win10系统通过注册表添加系统变量为什么不成功?

本帖最后由 solan 于 2016-4-7 13:58 编辑

如题,我在win7 winxp里面都能用批处理添加系统变量,win10里面就不行,代码如下:
  1. @echo off
  2. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v "UGII_BASE_DIR" /t REG_SZ /d "%cd%\NX 10.0" /f
  3. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v "UGII_ROOT_DIR" /t REG_SZ /d "%cd%\NX 10.0\UGII" /f
复制代码
请教,在win10里面怎么写。
1

评分人数

有哪位朋友安装win10的,帮我看看1楼的代码,到底是什么原因

TOP

是不是win10权限的问题啊?

TOP

执行后显示什么?没有写入注册表?在CMD窗口单条执行呢?

TOP

回复 4# pcl_test

批处理执行时没什么反应,没什么错误提示,然后去 环境变量那儿一看还是老样子,没有写入注册表
在CMD窗口我没有试过
由于某种原因,我现在已经换回win7系统了,所以暂时无法测试。

TOP

本帖最后由 codegay 于 2016-4-5 04:34 编辑

手动添加注册表,重启,搜索注册表,确认环境变量被添加到哪里了.

参考我的帖子,http://bbs.bathome.net/thread-32322-3-1.html
你需要确认win 10是不是也是同样情况.
以及是不是需要管理员权限执行.

发现我的系统是从
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
读取变量的。
所以添加到ControlSet001下无效。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 6# codegay


    好的,谢谢,不过我现在换回win7了,要不安装个虚拟机试试,给我点时间

TOP

回复 7# solan


   
好的.如能反馈测试结果就是贡献.
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 6# codegay


    正解,win10就是这样的情况。

TOP

  1. wmic ENVIRONMENT create name="UGII_BASE_DIR",username="<system>",VariableValue="%cd%\NX 10.0"
  2. wmic ENVIRONMENT create name="UGII_ROOT_DIR",username="<system>",VariableValue="%cd%\NX 10.0\UGII"
复制代码

TOP

本帖最后由 pcl_test 于 2016-4-6 19:07 编辑
  1. Windows Registry Editor Version 5.00
  2. ;cls&@echo off
  3. ;set "fd=%cd%"
  4. ;(echo;
  5. ;echo;"UGII_BASE_DIR"="%fd:\=\\%\\NX 10.0"
  6. ;echo;"UGII_ROOT_DIR"="%fd:\=\\%\\NX 10.0\\UGII")>>"%~f0"
  7. ;regedit /s "%~f0"
  8. ;echo;导入完成&ping -n 3 0 >nul&pause
  9. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
复制代码

TOP

回复 11# pcl_test
谢谢老大,我现在安装回win10测试一下

TOP

回复 10# pcl_test


    用批处理在win10里测试,提示“错误:拒绝访问”

TOP

回复 11# pcl_test


    此楼代码win10企业版测试通过,达到预期效果。
非常感谢,不过不懂代码的具体含义。

TOP

本帖最后由 solan 于 2016-7-20 12:45 编辑

回复 11# pcl_test
版主,由于代码需要更新,现在问题又来了,是这样:举个例子,某个软件的根目录AA里面有好多文件和文件夹,其中有一个文件夹叫BB,BB里面其中有 Tool文件夹和 CC文件夹,
我想把BB和CC的路径写入环境变量,这个批处理怎么写?该批处理放到根目录AA或者Tool里面,要求执行结果一样,能在xp win7 和win10上运行。

我写了多个方案都不成功,特来求教,麻烦版主了,谢谢
下面是我写的测试代码
  1. @echo off
  2. set "Py=%~dp0"
  3. set "py=%py:~0,-6%"
  4. ::我这里判断批处理是否放在Tool里面,好像写得不对,不知道怎么改
  5. if exist "&py&\Tool" (goto Tool) else (
  6. if exist "%~dp0BB" (
  7. goto bb
  8. ) else (goto erro)
  9. )
  10. :Tool
  11. Windows Registry Editor Version 5.00
  12. ;cls&@echo off
  13. ;(echo;
  14. ;echo;"BASE_DIR"="%Py:\=\\%"
  15. ;echo;"ROOT_DIR"="%Py:\=\\%\\CC")>>"%~f0"
  16. ;regedit /s "%~f0"
  17. ;echo;
  18. echo . 导入成功!
  19. echo .
  20. echo .&ping -n 3 0 >nul&pause
  21. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
  22. :bb
  23. Windows Registry Editor Version 5.00
  24. ;cls&@echo off
  25. ;set "P=%~dp0"
  26. ;(echo;
  27. ;echo;"BASE_DIR"="%P:\=\\%BB"
  28. ;echo;"ROOT_DIR"="%P:\=\\%BB\\CCI")>>"%~f0"
  29. ;regedit /s "%~f0"
  30. ;echo;
  31. echo . 导入成功
  32. echo .
  33. echo .&ping -n 3 0 >nul&pause
  34. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
  35. :erro
  36. echo .
  37. echo .位置错误!!
  38. echo .
  39. echo .按任意键退出....&pause>nul&exit
复制代码

TOP

返回列表