欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

dos 变量中 两个感叹号 通义 chatgpt 有大用

在 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%,则会始终显示当前迭代的文件计数。


普通分类: