使用批处理设置环境变量的问题~ 很简单 大虾来帮忙

amingo 2010-02-05 10:26:31
@echo off
set include=e:\masm32\Include
set lib=e:\masm32\lib
set path=e:\masm32\bin;%path%
echo on
保存为a.bat
用来设置3个环境变量,但为什么执行后没有成功???
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
就是just4 2010-02-06
  • 打赏
  • 举报
回复
[code=BatchFile]@echo off
echo 添加用户级别环境变量
reg add "HKEY_CURRENT_USER\Environment" /v include /t reg_sz /d "e:\masm32\Include" /f
reg add "HKEY_CURRENT_USER\Environment" /v lib /t reg_sz /d "e:\masm32\lib" /f
reg add "HKEY_CURRENT_USER\Environment" /v path /t reg_sz /d "e:\masm32\bin" /f
echo.
echo 添加完成后电脑需重启生效,重启后直接命令行输入echo %include% %lib% %path%检测生效
echo.
echo 按任意键电脑即将重启。。。
pause>nul
shutdown /r /t 10 /f[/code]
amingo 2010-02-06
  • 打赏
  • 举报
回复
just4 就是要通过BAT 添加到系统属性 --> 高级 --> 环境变量中。

我上面写的有问题吗,应该怎么写,能帮我写写吗,我不太会。
就是just4 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 amingo 的回复:]
just4 我是直接保存成文件 然后双击执行的,不行吗
[/Quote]
你是想双击执行后,在其它程序中使用该变量,还是就在a.bat中调用,如是前者就是设置系统级全局变量,相当于保存到注册表中的,直接按win+break,在系统属性 --> 高级 --> 环境变量中直接手工添加,或者直接用批处理添加到注册表,比如:
[code=BatchFile]reg add "HKEY_CURRENT_USER\Environment" /v include /t reg_sz /d "e:\masm32\Include" /f[/code]
amingo 2010-02-06
  • 打赏
  • 举报
回复
just4 我是直接保存成文件 然后双击执行的,不行吗
Microogle 2010-02-06
  • 打赏
  • 举报
回复
wmic environment create name="include",variablevalue="e:\masm32\Include",username="<system>"
wmic environment create name="lib",variablevalue="e:\masm32\lib",username="<system>"
wmic environment where name="path" set variablevalue="e:\masm32\bin;%path%"
添加全局变量。

个人还是倾向于修改注册表中
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
和/或
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
的值。
就是just4 2010-02-06
  • 打赏
  • 举报
回复
"用来设置3个环境变量,但为什么执行后没有成功???",,不知楼主是如何执行的???

批处理变量相当于当前Bat或CMD程序中的全局变量,但不能跨文件的,除非用call直接调用,比如:
[code=BatchFile]rem a.bat
@echo off
set include=e:\masm32\Include
set lib=e:\masm32\lib
set path=e:\masm32\bin;%path%
echo a.bat include=%include%
echo a.bat lib=%lib%
echo a.bat path=%path%
echo on

rem b.bat
@echo off
call a.bat
echo b.bat include=%include%
echo b.bat lib=%lib%
echo b.bat path=%path%
echo OK
pause>nul[/code]
amingo 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 just4 的回复:]
set设置的环境变量仅当前上下文有效
[/Quote]

我是把他做成bat文件。


如果不行还有什么其他的方法吗?
就是just4 2010-02-05
  • 打赏
  • 举报
回复
set设置的环境变量仅当前上下文有效

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧