gpt4 book ai didi

batch-file - 如何使用批处理文件中的另一个变量覆盖现有变量?

转载 作者:行者123 更新时间:2023-12-02 01:46:01 24 4
gpt4 key购买 nike

在以下两个(简化示例)批处理文件中,当我想覆盖某些变量时遇到了困难:

批处理测试 1:

 @echo off
set var=D:
set var_2=%var%\DOMAIN
set var_3=%var_2%\sub_domain
call batch_test2.bat
@echo %var%
@echo %var_2%
@echo %var_3%

批处理测试 2:
  @echo off
if 1==1 (
set var=E:
set var_2=%var%\Component
set var_3=%var_2%\comp1
)

输出:

乙:
D:\组件
D:\域\comp1

预期输出:

乙:
E:\组件
E:\域\comp1

如何使用多个变量获得 expected_output?

最佳答案

对于batch_test 2,您应该使用延迟扩展和tunneling :

  @echo off
setlocal enableDelayedExpansion
if 1==1 (
set var=E:
set var_2=!var!\Component
set var_3=!var_2!\comp1
)
endlocal & (
set var=%var%
set var_2=%var_2%
set var_3=%var_3%
)

关于batch-file - 如何使用批处理文件中的另一个变量覆盖现有变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25610653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com