Windows批处理 - 匹配文件夹名称中带点(。)的文件夹

时间:2015-04-14 15:04:49

标签: windows batch-file

我试图找出如何在Windows批处理脚本中将文件夹与文件名中的点匹配(例如," .svn")。

这是基本的脚本:

setlocal
pushd c:\myDir
@echo off
FOR /D /r %%G in ("*\.whatever") DO (
    echo %%G
    REM do stuff
)
@echo on
popd
endlocal

这适用于大多数文件夹名称(例如"*bin"),但我无法找出指定带点的文件夹的方法。 "*.whatever""*\.whatever"不会返回任何结果。我猜测我错过了一些逃避角色或同样简单的东西,但我还没有找到任何文件。

(在任何人问之前,不,我没有尝试以递归方式删除subversion文件夹; "*.svn"只是一个例子。)

1 个答案:

答案 0 :(得分:2)

也许我错过了什么,但正如你所说的那样简单

for /r /d %%a in (.*) do echo %%~fa

但是如果文件夹被隐藏,那么普通的for将无法看到它们,所以我们需要执行一个dir命令,并使用for /f

for /f "delims=" %%a in ('dir /ad /s /b .*') do echo %%~fa