gpt4 book ai didi

windows - 变量初始化在批处理文件中延迟

转载 作者:可可西里 更新时间:2023-11-01 11:35:02 25 4
gpt4 key购买 nike

我有这个代码:

if "%2"=="32" (
set bit=This is 32bit
)
if "%2"=="64" (
set bit=This is 64bit
)
echo %bit%
)

当我尝试使用 sample.bat/s 64 时,输出是“This is 64bit”,但是当我尝试使用 sample.bat/s 32 时,输出是仍然是“这是 64 位”。然后我将其切换回 sample.bat 64,输出变为“This is 32bit”。我认为变量初始化被延迟了。有人知道解决方法吗?

最佳答案

如果您运行 sample.bat 6464 位于 %1,而不是 %2。传递给批处理文件的第一个参数始终是 %1 - 批处理文件本身的名称在 %0 中。您会得到一些随机输出残留物或其他尝试遗留下来的东西。试试这个:

setlocal
if "%1"=="32" (
set bit=This is 32bit
)
if "%1"=="64" (
set bit=This is 64bit
)
echo %bit%
)
endlocal

setlocal 确保在您的批处理文件结束时丢弃任何环境更改,因此您不必担心从测试中获取剩余物。

如果您只键入 sample.bat,这仍然无法正常工作,因为您还没有处理任何传递的参数。

关于windows - 变量初始化在批处理文件中延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13794581/

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