【发布时间】:2015-06-25 11:28:12
【问题描述】:
是否可以将 FOR 语句嵌套到 IF ELSE 语句中?
即
我正在读取用于定义软件版本的变量。如果指定了版本,则可以使用。但是,如果它是空白的,我会寻找最高文件夹编号。
到目前为止我有:
IF %Softupgradeversion%=="" (
for /f "tokens=*" %%1 in ('dir /b /ad /on *') do (set latestdir=%%1
)) ELSE (
SET latestdir=%Softupgradeversion%
)
但是,如果变量为空,则它不起作用并去寻找最高的文件夹编号。我会认为这是因为 FOR 语句中的 () 以及 IF ELSE () 中的。有没有像 ^('dir /b /ad /on *'^) 这样的转义字符,例如
【问题讨论】:
-
添加语言标签。
-
使用
IF "%Softupgradeversion%"=="" (.. 即在可能的空值周围加上双引号。此外,将来,您应该发布您实际获得的内容,而不仅仅是“它不起作用”。
标签: batch-file if-statement for-loop