从批处理脚本中的FOR循环中分配变量中的值

时间:2018-08-19 12:28:56

标签: batch-file

我编写了一个批处理脚本,以获取目录中包括子文件夹的所有pdf文件,但是我想知道是否可以在其他变量中分配%%x的值,例如{{1 }}。

set temp = %%~na

1 个答案:

答案 0 :(得分:0)

几乎和您所拥有的一样。

@echo off
setlocal enabledelayedexpansion
for /R %%a in (*.pdf) do (
   set "var=%%~na"
   echo !var!
)

您不必endlocal,因为在这种情况下脚本完成时它将结束。

第二次执行setlocal是一个问题。启用setlocal时,您一开始就做过delayedexpansion,但话说回来,您从未使用过它。查看setlocal /?,您会发现使用!而不是%是为了告诉系统在延迟的环境扩展中应该使用哪些变量。