Batch file 删除CMD中文件名几乎相同的文件

Batch file 删除CMD中文件名几乎相同的文件,batch-file,cmd,Batch File,Cmd,我有一个文件夹,里面有多张照片,每张照片有两种不同的分辨率。我想删除分辨率较低的照片。例如,该文件夹包含以下文件WP_20140917_19_15_04_Pro.jpg和WP_20140917_19_15_04_Pro_highres.jpg。我想保留文件名中高分辨率的所有照片,并使用CMD删除另一张照片 一个重要的注意事项是,只有当照片的高分辨率版本存在时,它才应该删除照片,因为文件夹并不总是包含照片的高分辨率版本 我知道当某个单词被反复返回时(比如highres),如何删除文件,但我不能做相

我有一个文件夹,里面有多张照片,每张照片有两种不同的分辨率。我想删除分辨率较低的照片。例如,该文件夹包含以下文件WP_20140917_19_15_04_Pro.jpg和WP_20140917_19_15_04_Pro_highres.jpg。我想保留文件名中高分辨率的所有照片,并使用CMD删除另一张照片

一个重要的注意事项是,只有当照片的高分辨率版本存在时,它才应该删除照片,因为文件夹并不总是包含照片的高分辨率版本

我知道当某个单词被反复返回时(比如highres),如何删除文件,但我不能做相反的事情,这就是为什么我不知道如何开始。非常感谢您的帮助。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
设置“sourcedir=U:\sourcedir”
设置/a计数=0
对于/f“delims=”%%a IN(
'dir/b/a-d”%sourcedir%\*\uu highres.*'
)做(
设置“名称=%%a”
设置“name=!name:uu highres=!”
如果存在“%sourcedir%\!name!”(
回显(删除“%sourcedir%\!name!”
设置/a计数+=1
)
)
已删除回显%count%个文件。
后藤:EOF
您需要更改
sourcedir
的设置以适应您的环境

所需的DEL命令仅用于测试目的。
ECHO
ed。验证命令正确后,将
ECHO(DEL
更改为
DEL
以实际删除文件

超级简单。读取目录,目标是与模式匹配的所有文件。
*\uuuu highres.*
。从名称中删除
\uuuu highres
,如果存在具有修改名称的文件,则将其删除

---编辑:添加到已删除文件的计数中。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
设置“sourcedir=U:\sourcedir”
设置/a计数=0
对于/f“delims=”%%a IN(
'dir/b/a-d”%sourcedir%\*\uu highres.*'
)做(
设置“名称=%%a”
设置“name=!name:uu highres=!”
如果存在“%sourcedir%\!name!”(
回显(删除“%sourcedir%\!name!”
设置/a计数+=1
)
)
已删除回显%count%个文件。
后藤:EOF
您需要更改
sourcedir
的设置以适应您的环境

所需的DEL命令仅用于测试目的。
ECHO
ed。验证命令正确后,将
ECHO(DEL
更改为
DEL
以实际删除文件

超级简单。读取目录,目标是与模式匹配的所有文件。
*\uuuu highres.*
。从名称中删除
\uuuu highres
,如果存在具有修改名称的文件,则将其删除


---编辑:已添加已删除文件的计数。

谢谢。以确保我没有更改回音(del到del。我已经计算了高分辨率照片的数量。这也意味着删除文件的数量应该相等。我应该在批处理文件中包括什么来显示“删除”文件的数量?谢谢。以确保我没有更改回音(del到del。我已经计算了高分辨率照片的数量。这也意味着删除文件的数量应该相等。我应该在批处理文件中包括什么来显示“删除”文件的数量?