删除扩展名为.csv的所有文件,除了一个批处理

时间:2014-11-26 00:46:02

标签: batch-file batch-processing

假设我有几个名为的文件:

 1. Item-A.csv
 2. Item-B.csv
 3. Total-AB.csv
 4. Pictures.jpeg

我需要删除所有.csv扩展名,除了任何目录中的total-av.csv。因此,在我所在的任何目录中生成的剩余文件如下:

 1. Total-AB.csv
 2. Pictures.jpeg

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

在你的.bat文件中试试这个:

for /f "usebackq" %%f in (`dir *.csv /s/b ^| findstr /v /i "Total-AB.csv"`) do (
    echo %%f
    rem del %%f
)

一旦它看起来像预期的那样工作,就取出rem

答案 1 :(得分:0)

这是一个PowerShell命令,用于删除除total-av.csv之外的所有子文件夹中的每个* .csv

Dir *.csv -Exclude total-av.csv -R | del

这是不使用批次短名称的相同命令。

Get-ChildItem -Filter *.csv -Exclude total-av.csv -Recurse | Remove-Item

答案 2 :(得分:0)

在示例文件夹树上测试它。请注意,它是整个文件夹树的递归。

@echo off
for /r "d:\base\folder" %%a in (*.csv) do if /i not "%%~nxa"=="total-av.csv" del "%%a"