【问题标题】:Loop through tree and delete files and directories listed in variable (windows batch)遍历树并删除变量中列出的文件和目录(Windows批处理)
【发布时间】:2018-07-02 16:01:03
【问题描述】:

我有变量:

set "whattodelete=*xxx* *yyy* *zzz*"

以及以下目录树:

C:\Temp
  Folder1    Folder2    Folder3
    1aaa1      2aaa2      ...
    1bbb1      2bbb2
    1ccc1      2ccc2
    1xxx1      2xxx2
    1yyy1      2yyy2
    1zzz1      2zzz2

其中 1aaa1 可能是目录或文件。

我读过这个: Command line tool to delete folder with a specified name recursively in Windows?

但不知道如何为包含许多文件/目录的变量添加循环。我怀疑这里可能还有一个内部或外部循环,但我对变量扩展并不那么接近。你能帮帮我吗?

【问题讨论】:

  • edit your question向我们提供您目前编写的脚本,不是别人提出的不同文件、目录结构和几个不同答案的问题
  • 获取tour,阅读How to Ask并提供minimal reproducible example
  • 打开命令提示符窗口并运行for /? 以在用于在Windows 命令环境中循环的几个页面上输出此命令的帮助。 for %%I in (%whattodelete%) do del /F /S /Q "C:\Temp\%%~I" 应该适合您的任务。

标签: batch-file


【解决方案1】:

这对我有用:

@echo off
setlocal EnableDelayedExpansion EnableExtensions 
set "whattodelete=*xxx* *yyy* *zzz*"
cd C:\Temp
for /f "usebackq tokens=*" %%i in (`dir /b /s /a:d %whattodelete%`) do (
  rd /s /q "%%i"
  )

【讨论】:

    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多