标题: [系统相关] 批处理环境变量与预处理,求教 [打印本页]
作者: 白鹤隐云 时间: 2018-10-12 20:30 标题: 批处理环境变量与预处理,求教
本帖最后由 白鹤隐云 于 2018-10-12 21:03 编辑
在一个批处理程序中改变环境变量,不会立即生效,退出之后再调用才是修改后的。
如:D盘目录下有一个note.exe- setx path "%path%;D:\" -m
- note.exe
复制代码
note无法运行。
但是如果我在批处理中修改环境变量,再调用exe文件,发现exe调用的环境变量已经是被修改过的。
如:- setx path "%path%;D:\" -m
- print.exe
复制代码
其中print.exe是编译过的批处理,用于调用note.exe,
结果是运行成功。
请问这是什么原理?属于预处理机制吗?
作者: CreeperTeam 时间: 2018-10-12 20:40
批处理?是不是?
作者: CreeperTeam 时间: 2018-10-12 20:41
所有的修改在当前都是立刻生效,但不知你的setx是什么意思
作者: Batcher 时间: 2018-10-12 20:45
- setx path "%path%;D:\note" -m
- set path "%path%;D:\note" -m
- echo %path%
复制代码
这样可以吗?
作者: CreeperTeam 时间: 2018-10-12 20:46
回复 3# CreeperTeam
对了,Setx我刚看过了一遍,很有可能是Setx出的问题,话说你为什么要永久设定呢?改了系统参数就麻烦了 毕竟你这只是个小程序
作者: Batcher 时间: 2018-10-12 20:46
回复 3# CreeperTeam
setx是个第三方命令行工具,可以用来修改环境变量
http://bcn.bathome.net/s/tool/index.html?key=setx
作者: CreeperTeam 时间: 2018-10-12 20:46
回复 4# Batcher
可以,算是个补丁文件吧
作者: CreeperTeam 时间: 2018-10-12 20:47
回复 6# Batcher
谢谢,看到了
作者: 白鹤隐云 时间: 2018-10-12 21:05
回复 4# Batcher
万分抱歉……描述写错了(脑子有点昏),请看一下修正后的问题
作者: 白鹤隐云 时间: 2018-10-12 21:10
回复 9# tigerpower
感谢,能否再帮我看一下修改后的问题?
作者: xczxczxcz 时间: 2018-10-12 21:51
回复 6# Batcher
setx 系统自带工具,怎么成第三方的了,招安的?
作者: CreeperTeam 时间: 2018-10-13 08:40
回复 12# xczxczxcz
你错了!SETX不是系统工具
作者: 523066680 时间: 2018-10-13 10:13
回复 13# CreeperTeam
我也以为不是,记得xp没有。但是刚才试了一下Win7有这个,位于
C:\Windows\SysWOW64
作者: Batcher 时间: 2018-10-13 11:47
回复 13# CreeperTeam
无所谓对错,微软的系统也是在不断更新的嘛
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |