Windows 批处理脚本 - 获取包含另一个文件夹但不包含某个父文件夹的文件夹

标签 windows batch-file

为了获取驱动器 C:\ 中包含名为 “.svn”的目录 的所有目录,我只需使用以下批处理文件:

@ECHO OFF
FOR /D /R C:\ %%X IN (*) DO IF EXIST "%%X\.SVN" (ECHO "%%X")

这有效!但从结果来看我还想删除其父目录已包含 .svn 目录的目录。

例如,假设我们有以下树

C:\
C:\hello\
C:\babe\.svn
C:\babe\cool\.svn
C:\world\.svn
C:\zulu

上面的批处理文件将返回此列表(包含 .svn 文件夹的所有目录)

C:\babe
C:\babe\cool
C:\world

我只想返回该批处理

C:\babe
C:\world

没有 C:\babe\cool 因为 .svn 目录已在父目录 C:\babe 中找到

最佳答案

FOR /D /R C:\ %%X IN (*) DO  @IF EXIST "%%X\.SVN" IF NOT EXIST "%%X\..\.SVN" (ECHO "%%X")

关于Windows 批处理脚本 - 获取包含另一个文件夹但不包含某个父文件夹的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994737/

相关文章:

windows - 基于 OpenGL ES 的桌面硬件加速 OpenVG 实现

c++ - 如何在 Restinio 中使用 POST 处理程序?

windows - 在 Windows 上如何使用批处理脚本获取网络接口(interface)名称是否为 eth0/eth1/eth2?

c# - 获取绘制在窗口上的图像

windows - 为 WININET HTTP 请求使用特定的网络接口(interface)

python - 复制大文件时 os.stat 不会更新

batch-file - 如何从 MS DOS 目录列表中排除特定文件名?

iis - 压缩 IIS 日志的自动脚本?

batch-file - 使用robocopy将源和目标作为变量

windows - 需要帮助通过批处理文件添加注册表项