gpt4 book ai didi

batch-file - cmd 与批处理文件中未定义的环境变量扩展

转载 作者:行者123 更新时间:2023-12-05 07:47:28 26 4
gpt4 key购买 nike

在 Windows 命令提示符下:

D:\> echo %undef%
%undef%

D:\> type undef.bat
echo %undef%
D:\> undef

D:\> echo
ECHO is on.

我的问题是为什么在命令行上未定义的环境变量如 %undef% 被扩展为 %undef% 但在 BAT 文件中被扩展为空字符串?

最佳答案

for/f "tokens=* delims="%S IN ('help^|find/i "for "') do echo %S in cmd.exe

对比

for/f "tokens=* delims="%%S IN ('help^|find/i "for "') do echo %%S in batfile

为了理解:

@set 1=
@echo %1
@echo %1%
@set 1=interactive only
@echo %1%

在 cmd.exe 中返回:

%1
%1%
interactive only

但是在 batfile 中运行时带有一些选项(例如:“first”“second”)

"first"
"first"
"first"

它正在对参数进行转义(对于 get > 9 参数使用 shift 命令)

关于batch-file - cmd 与批处理文件中未定义的环境变量扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707858/

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