在批处理中,可以通过使用set
命令将FOR循环中的值赋给全局变量。
以下是一个示例代码:
@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir /b') do (
set "global_var=%%i"
echo !global_var!
)
echo %global_var%
在上述代码中,setlocal enabledelayedexpansion
命令启用了延迟变量扩展,这样可以在FOR循环中使用!
来访问变量的值。
FOR循环中的dir /b
命令用于获取当前目录下的所有文件名。通过%%i
来遍历每个文件名,并将其赋值给global_var
变量。
在FOR循环内部,使用echo !global_var!
来打印每个文件名。
最后,使用echo %global_var%
来打印全局变量global_var
的值。
请注意,批处理中的全局变量是相对于当前批处理会话的。如果需要在不同的批处理会话之间共享变量,可以考虑将变量值保存到文件中,或者使用其他机制来实现跨会话的变量共享。
领取专属 10元无门槛券
手把手带您无忧上云