Windows批处理文件:获取文件夹的路径并将其存储在变量中

时间:2010-02-12 15:22:46

标签: windows batch-file

您好我需要一个批处理文件来存储我在my_folder中找到的名为“.svn”的所有目录/子目录的所有路径的变量。

类似的东西:

@ECHO OFF
FOR /r my_folder %%X IN (.svn) DO (ECHO %%X)

上面的命令将它们打印到屏幕,但我需要将它们作为字符串列表存储在变量中。有人知道怎么做吗?

这是我用来帮助自己处理批处理文件的网站:http://ss64.com/nt/

我想将此类变量的值传递给命令RD,以便将它们与此子文件夹/文件一起删除。 所以我们假设变量是名称$a我会做类似的事情:

RD /s /q $a

1 个答案:

答案 0 :(得分:1)

没有任何变量的最简单的解决方案是在RD循环内发出FOR命令。您可以在大括号内使用多个命令,如:

@ECHO OFF
FOR /r my_folder %%X IN (.svn) DO (
    ECHO %%X
    RD /s /q %%X
)

如果您需要将变量添加到变量,您可以这样做:

@ECHO OFF

SET PATH_LIST=
SETLOCAL ENABLEDELAYEDEXPANSION   

FOR /r my_folder %%X IN (.svn) DO (
    ECHO %%X
    SET PATH_LIST=!PATH_LIST! "%%X"
)

ENDLOCAL

RD /s /q %PATH_LIST%

但请记住,环境变量的大小有限。在Windows XP中,单个变量可以容纳最大值。 8,192字节。