windows 提示比较并删除文件

windows prompt compare and remove files

我有一个命令提示符问题,希望你能帮我解决.. 我在某个目录中有一个文件列表,我只想删除经过优化的旧文件。 因此,对于以下列表,仅应删除这些文件:[file2.ifc / file5.ifc / mainpart.ifc]

file1.ifc
file2.ifc
file2_optimized.ifc
file3.ifc
file4.ifc
file5.ifc
file5_optimized.ifc
mainpart.ifc
mainpart_optimized.ifc

如何实现?

提前致谢,

洛克

列出所有 .ifc 文件,过滤(排除)_optimized 文件,其余检查是否存在 _optimized 文件,如果存在,删除文件:

for /f "delims=" %%a in ('dir /b *.ifc^|findstr /vie "_optimized.ifc"') do (
   if exist "%%~na_optimized%%~xa" del "%%a"
)

检查目录中的 ifc 文件列表,在 ned 处不包含“_Optimized.ifc”,并直接检查是否存在带有“_Optimized.ifc”的文件,如果确实如此,删除它。

您可以在 cMD CLI 上直接使用:

FOR %A IN (
  "C:\Folder\Path\*.ifc"
) DO (
  ECHO=%~nx_FIND /V /I "_Optimized.ifc" && (
    IF EXIST "%~dpnA_Optimized.ifc" (
      DEL /F /Q "%~fA"
    )
  )
)