欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Windows CMD 或批处理 (.bat) 文件中,两个感叹号 !!
是用于延迟环境变量扩展的特殊符号。当使用 setlocal enabledelayedexpansion
开启了延迟环境变量扩展后,单个百分号 %
用来表示当前命令行解析时的变量值,而双感叹号 !!
则可以获取上一次命令执行后的变量值。
示例:
cmd@echo off
setlocal enabledelayedexpansion
set count=0
for %%i in (*) do (
set /a count+=1
echo File !count! is: %%i
set file=!count!
echo The last file number was: !!file!!
)
endlocal
在这个例子中,在 for 循环内部,!count!
表示当前循环迭代中的计数器值,而 !!file!!
将显示前一次循环迭代中设置的 file
变量值。如果没有延迟环境变量扩展或只使用一个感叹号 %file%
,则会始终显示当前迭代的文件计数。