您好我需要一个批处理文件来存储我在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
答案 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字节。