gpt4 book ai didi

windows - 从批处理文件的FOR表达式中调用 `ver`将卡住Windows 10中的cmd

转载 作者:行者123 更新时间:2023-12-03 11:10:32 26 4
gpt4 key购买 nike

我正在尝试从批处理文件中检查OS版本,并且遇到以下问题。

线

FOR /F "tokens=*" %%i IN ('ver') DO (SET var=%%i)

从批处理文件执行时将冻结cmd,而命令 ver本身(在同一批处理文件中)执行没有问题。 ( ver具有以下输出。)
Microsoft Windows [Version 10.0.18362.356]

表达式中可能有什么问题?

最佳答案

为了避免递归和意外的FOR/F行为,可以在AutoRun批处理脚本中使用防护(例如@sst所示的variable based)。

@echo off
setlocal EnableDelayedExpansion
set "cmd=!cmdcmdline!"

if "!cmd!" == "!cmd:/=!" (
REM *** Define doskey macros
2>nul (
doskey npp="%ProgramFiles(x86)%\notepad++\notepad++.exe" $*
)

endlocal

REM *** Set additional variables

REM *** Change to a default directory
cd c:\temp
)

关于windows - 从批处理文件的FOR表达式中调用 `ver`将卡住Windows 10中的cmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58175828/

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