返回列表 发帖

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

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

如题,我在win7 winxp里面都能用批处理添加系统变量,win10里面就不行,代码如下:
@echo off
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v "UGII_BASE_DIR" /t REG_SZ /d "%cd%\NX 10.0" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v "UGII_ROOT_DIR" /t REG_SZ /d "%cd%\NX 10.0\UGII" /fCOPY
请教,在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

wmic ENVIRONMENT create name="UGII_BASE_DIR",username="<system>",VariableValue="%cd%\NX 10.0"
wmic ENVIRONMENT create name="UGII_ROOT_DIR",username="<system>",VariableValue="%cd%\NX 10.0\UGII"COPY

TOP

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

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上运行。

我写了多个方案都不成功,特来求教,麻烦版主了,谢谢
下面是我写的测试代码
@echo off
set "Py=%~dp0"
set "py=%py:~0,-6%"
::我这里判断批处理是否放在Tool里面,好像写得不对,不知道怎么改
if exist "&py&\Tool" (goto Tool) else (
if exist "%~dp0BB" (
goto bb
) else (goto erro)
)
:Tool
Windows Registry Editor Version 5.00
;cls&@echo off
;(echo;
;echo;"BASE_DIR"="%Py:\=\\%"
;echo;"ROOT_DIR"="%Py:\=\\%\\CC")>>"%~f0"
;regedit /s "%~f0"
;echo;
echo . 导入成功!
echo .
echo .&ping -n 3 0 >nul&pause
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
:bb
Windows Registry Editor Version 5.00
;cls&@echo off
;set "P=%~dp0"
;(echo;
;echo;"BASE_DIR"="%P:\=\\%BB"
;echo;"ROOT_DIR"="%P:\=\\%BB\\CCI")>>"%~f0"
;regedit /s "%~f0"
;echo;
echo . 导入成功
echo .
echo .&ping -n 3 0 >nul&pause
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
:erro
echo .
echo .位置错误!!
echo .
echo .按任意键退出....&pause>nul&exitCOPY

TOP

返回列表