【问题标题】:Batch File to Delete result* Folders from Subfolders从子文件夹中删除结果*文件夹的批处理文件
【发布时间】:2013-10-19 04:08:55
【问题描述】:

我的文件夹结构是这样设置的:

C:/Scripts
C:/Scripts/Script1
C:/Scripts/Script1/result2
C:/Scripts/Script1/result5
C:/Scripts/Script1/result1
C:/Scripts/Script2
C:/Scripts/Script2/result10
C:/Scripts/Script2/result7
C:/Scripts/Script3
C:/Scripts/Script3/result1
C:/Scripts/Script4

我正在寻找创建一个批处理文件,我可以保存在C:/Scripts/ 目录中,该目录将查看其每个子文件夹(例如Script1Script2Script3 等),并删除所有文件夹在它们(内部的任何文件)中以result 开头(例如result1result2result3 等)。有什么建议吗?

【问题讨论】:

    标签: batch-file subdirectory


    【解决方案1】:

    试试这样的:

    @echo off
    
    setlocal EnableDelayedExpansion
    
    for /r "C:\Scripts" %%d in (.) do (
      set "name=%%~nxd"
      if /i "!name:~0,6!"=="result" rd /s /q "%%~d"
    )
    

    【讨论】:

    • 完美,正是我想要的!
    • 让 OP 知道,在这种情况下它可能工作正常,但如果该文件夹存在,它也会删除 c:\scripts\result