Board logo

标题: [文件操作] 批处理怎么防止临时变量被设置成永久变量? [打印本页]

作者: cehagse    时间: 2022-5-8 01:48     标题: 批处理怎么防止临时变量被设置成永久变量?

本帖最后由 cehagse 于 2022-5-8 14:59 编辑

这是我写的代码:
a.bat:
  1. @echo off
  2. path = .\bin;%path%
  3. call b.bat
复制代码
b.bat:
  1. @echo off
  2. setx -m Path "%path%;D:\Test\bin"
复制代码
运行a.bat后“.\bin”会被设置成永久变量

请问各位大佬该怎么防止临时变量被设置成永久变量,谢谢
作者: Batcher    时间: 2022-5-8 11:38

回复 1# cehagse


    第一步,先把a.bat里面等号左右两边的空格都删掉
作者: cehagse    时间: 2022-5-8 15:16

回复 2# Batcher


    删不删结果都一样
作者: smss    时间: 2022-5-8 15:46

path设置临时环境变量
我们可以做个验证
  1. path "%ProgramFiles%\7-Zip";%path%
  2. 7zFM.exe
  3. pause
复制代码
此时打开了7zFM.exe,不关闭该脚本情况下运行以下脚本此时没有打开7zFM.exe 因此path设置的环境变量只对当前脚本生效
  1. 7zFM.exe
  2. pause
复制代码
我们还可以打开命令行输入set验证
作者: cehagse    时间: 2022-5-8 16:07

本帖最后由 cehagse 于 2022-5-8 16:10 编辑

回复 4# smss


    但我是想在存在临时变量的情况下“设置永久变量”




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2