Batch file 创建批处理以保留一个文件,并在所有文件具有相同扩展名且位于同一文件夹中时删除其余文件
我需要创建一个Batch file 创建批处理以保留一个文件,并在所有文件具有相同扩展名且位于同一文件夹中时删除其余文件,batch-file,Batch File,我需要创建一个批处理命令,该命令将保留来自所有相同扩展名的一个文件,并删除其余扩展名 例如,我在桌面上有一个名为照片的文件夹。它包含所有.png格式的图片。但是,在这些文件中,我想保留birds.png并删除其余的图片。我怎样才能做到这一点 非常简单。使用for/r循环 for /r "Photograph" %%a in (*) do ( if %%~na NEQ [file to keep e.g. bird] del "%%a" ) 从桌面上运行此操作,它将删除文件夹“photo”中的所
批处理命令
,该命令将保留来自所有相同扩展名的一个文件,并删除其余扩展名
例如
,我在桌面上有一个名为照片的文件夹
。它包含所有.png
格式的图片。但是,在这些文件中,我想保留birds.png
并删除其余的图片。我怎样才能做到这一点 非常简单。使用for/r
循环
for /r "Photograph" %%a in (*) do (
if %%~na NEQ [file to keep e.g. bird] del "%%a"
)
从桌面上运行此操作,它将删除文件夹“photo”中的所有文件,但指定位置的文件名除外
我自己试过,效果很好。如果你还需要什么,告诉我
你的Mona
候补
这应该行得通 @echo关闭
@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
)
)
如果不存在%2(
echo“用法:allBut.bat
后藤:结束
)
对于(%1)中的%%f,请执行以下操作(
如果不是%%f==%2(
回显删除%%f,因为它不是%2
del%%f
)
)
e、 g.allBut*.png bird.png不要在需要的文件夹之外的任何其他文件夹中运行它。:)
谢谢你的评论Mona。我还有一个问题。如果我想把这个bat文件放在桌面以外的地方怎么办?我应该在上面写着“照片”的地方添加完整的文件夹位置吗?是的,基本上用
“photo”
替换为“C:\pathtofile”“
,如果您觉得这很有用,请不要忘记更正此答案。很抱歉问了这么多问题。我尝试了你们的代码,也尝试了一个添加完整路径到文件夹,它似乎并没有删除任何文件。我添加了这段代码并保存为test.bat,然后双击它。但是什么也没发生。候补者应该这样做。请输入你到底在做什么
@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
)
)
@echo off
attrib +h bird.png
del *.png
attrib -h bird.png