从子文件夹中删除文件但要排除一个子文件夹-批处理文件

Delete file from sub folder but want to exclude one sub folder-batch file

我有父文件夹名称 parent,在父文件夹中有 subfolder01subfolder02default 文件夹。

每个文件夹包含一个 jar 个同名文件 (abc.jar)。我想从 subfolder01subfolder02 中删除 jar 文件,而不是从 default 文件夹中删除。

如何在给命令 del /s *.abc.jar 时排除 default 文件夹?

您需要一个带有 /F 选项的 for 循环,这将允许循环解析 dir 命令的输出。可能的解决方案:

批处理文件:

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%A IN ('dir "parent_folder" /b /s /A:D') do set "my_var=%%A" && if "!my_var:\default\=!"=="!my_var!" (del !my_var!\abc.jar)

cmd

cmd /v:on
for /f "delims=" %A IN ('dir "parent_folder" /b /s /A:D') do set "my_var=%A" && if "!my_var:\default\=!"=="!my_var!" (del !my_var!\abc.jar)