找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20475|回复: 4

[文件操作] 批处理怎么防止临时变量被设置成永久变量?

[复制链接]
发表于 2022-5-8 01:48:06 | 显示全部楼层 |阅读模式
本帖最后由 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”会被设置成永久变量

请问各位大佬该怎么防止临时变量被设置成永久变量,谢谢
发表于 2022-5-8 11:38:28 | 显示全部楼层
回复 1# cehagse


    第一步,先把a.bat里面等号左右两边的空格都删掉
 楼主| 发表于 2022-5-8 15:16:01 | 显示全部楼层
回复 2# Batcher


    删不删结果都一样
发表于 2022-5-8 15:46:41 | 显示全部楼层
path设置临时环境变量
我们可以做个验证
  1. path "%ProgramFiles%\7-Zip";%path%
  2. 7zFM.exe
  3. pause
复制代码
此时打开了7zFM.exe,不关闭该脚本情况下运行以下脚本此时没有打开7zFM.exe 因此path设置的环境变量只对当前脚本生效
  1. 7zFM.exe
  2. pause
复制代码
我们还可以打开命令行输入set验证
 楼主| 发表于 2022-5-8 16:07:32 | 显示全部楼层
本帖最后由 cehagse 于 2022-5-8 16:10 编辑

回复 4# smss


    但我是想在存在临时变量的情况下“设置永久变量”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 02:15 , Processed in 0.018813 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表