0

我需要创建一个batch command保留所有相同扩展名的文件并删除其余文件。

For example,我有一个名为Photograph on desktop. 它包含所有.png格式的图片。但是,在这些文件中,我想保留birds.png并删除其余的图片。我怎样才能做到这一点?

4

3 回答 3

1

很容易。使用for /r循环

for /r "Photograph" %%a in (*) do (
if %%~na NEQ [file to keep e.g. bird] del "%%a"
)

从桌面运行它,它将删除放在“Photograph”文件夹中的所有文件,除了放在指定位置的文件名。

我自己试过了,效果很好。如果您还需要什么,请告诉我,

你的莫娜

备用

forfiles /p "[pathtofile including file itself]" /c "cme.exe /c if @fname NEQ "bird" del @path"

那应该行得通。

于 2013-06-28T08:17:17.060 回答
1

不要在您需要的文件夹之外的任何其他文件夹中运行它。:)

@echo off
attrib +h bird.png
del *.png
attrib -h bird.png
于 2013-06-28T10:59:23.520 回答
0
@echo off

if NOT EXIST %2 (
echo "Usage: allBut.bat <pattern> <filename>
goto:end
)

for %%f in (%1) do (
IF NOT %%f==%2 (
    echo Deleting %%f because it is not %2
    del %%f
)
)

e.g. allBut *.png bird.png

于 2013-06-28T08:20:10.303 回答