代码之家  ›  专栏  ›  技术社区  ›  Marco Demaio

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

  •  2
  • Marco Demaio  · 技术社区  · 11 年前

    为了获取驱动器中的所有目录 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

    1 回复  |  直到 11 年前
        1
  •  3
  •   Marco Demaio    11 年前
    FOR /D /R C:\ %%X IN (*) DO  @IF EXIST "%%X\.SVN" IF NOT EXIST "%%X\..\.SVN" (ECHO "%%X")
    
    推荐文章