【问题标题】:How can I get a count of all sub-folders with a specific name in Windows?如何获取 Windows 中具有特定名称的所有子文件夹的计数?
【发布时间】:2015-03-19 23:07:55
【问题描述】:

我想弄清楚有多少子文件夹包含一个名为“img”的文件夹,所以如果可能的话,我想对所有名为 img 的子文件夹进行递归计数。

另外,我怎样才能进行一级深度的计数?也就是说,对于所有名为“img”的文件夹,它只会看起来只有一个文件夹深?

所以,如果我的文件夹结构是:

>folder1
  >img
>folder2
  >subfolder
    >img
>folder3
   >subfolder
      >subsubfolder
        >img
>folder4
  >img

第一部分将返回 4,第二个脚本将返回 2。

这可以通过 CMD 还是使用某些 Windows 工具来完成?

我环顾四周,我能找到的最接近的是一个 CLI 脚本,用于将所有文件夹和子文件夹打印到一个文件中:

dir /directory:n /ad > f.txt

from here.

然后我可以将粘贴复制到记事本++中并进行一些手动操作...但我希望有一个比这更清洁/更快的解决方案,以防我将来遇到这种情况。谁能帮我写一下我需要写的内容以及如何解决这个问题?

谢谢:)。

【问题讨论】:

    标签: windows command-line cmd command-prompt command-line-interface


    【解决方案1】:
    @ECHO OFF
    SETLOCAL
    SET "sourcedir=U:\sourcedir\t w o"
    SET /a onelevelcount=0
    FOR /f "delims=" %%a IN (
     'dir /b /ad "%sourcedir%" 2^>nul'
     ) DO (
     IF EXIST "%sourcedir%\%%a\img\." SET /a onelevelcount+=1
    )
    ECHO one level down=%onelevelcount%
    SET /a grandtotal=0
    FOR /f %%c IN ('dir /s /ad "%sourcedir%"  2^>nul^|findstr /i /e /r "\\img"') DO SET /a grandtotal+=1
    ECHO grand total=%grandtotal%
    
    GOTO :EOF
    

    您需要更改sourcedir 的设置以适应您的情况。

    至于如何你会弄明白 - 熟能生巧。 SO上有很多例子。

    【讨论】:

      【解决方案2】:

      在记事本上输入以下代码并保存为.dll

      @ECHO OFF
      SETLOCAL
      SET "sourcedir=U:\sourcedir\t w o"
      SET /a onelevelcount=0
      FOR /f "delims=" %%a IN (
       'dir /b /ad "%sourcedir%" 2^>nul'
       ) DO (
       IF EXIST "%sourcedir%\%%a\img\." SET /a onelevelcount+=1
      )
      ECHO one level down=%onelevelcount%
      SET /a grandtotal=0
      FOR /f %%c IN ('dir /s /ad "%sourcedir%"  2^>nul^|findstr /i /e /r "\\img"') DO SET /a grandtotal+=1
      ECHO grand total=%grandtotal%
      
      GOTO :EOF`enter code here`
      

      【讨论】:

        猜你喜欢
        • 2013-04-29
        • 2013-04-19
        • 1970-01-01
        • 2014-07-30
        • 1970-01-01
        • 1970-01-01
        • 2014-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多