【发布时间】:2022-11-28 06:48:35
【问题描述】:
我的文件夹中有一个包含子文件夹的文件夹电脑我有多个具有不同尺寸和标准格式名称的图像文件,如下所示。
- 第一图像名称.jpg
- first-image-name-72x72.jpg
- 第一张图片名称 150x150.jpg
- first-image-name-250x250.jpg
- first-image-name-300x300.jpg
- first-image-name-400x400.jpg
- 第一张图片名称-1024x1024.jpg
- 第二图像名称.png
- second-image-name-72x72.png
- second-image-name-150x150.png
- second-image-name-250x250.png
- second-image-name-300x300.png
- second-image-name-400x400.png
- second-image-name-1024x1024.png
现在我想删除所有名称中显示的不同大小的图像文件,并且应该只保留原始文件。
为此,我尝试了下面分享的许多查询,但没有一个有效......
Windows PowerShell:
Get-ChildItem $Path | Where{$_.Name -Match '.*[0-9]+x[0-9]+.\(jpg\|png\|jpeg\)$'} | Remove-Item
窗口命令:
find -type f -regex '.*[0-9]+x[0-9]+.\(jpg\|png\|jpeg\)$' -delete
find -name '.*[0-9]+x[0-9]+.\(jpg\|png\|jpeg\)$' -delete
以上都不起作用所以让我知道我做错了什么......???请记住我必须递归使用它,因为我在主文件夹中也有很多文件夹。
【问题讨论】:
-
您可以在不转义 powershell
.*[0-9]x[0-9]+.(jpe?g|png)$中分组的括号和交替的管道的情况下尝试它 -
正确答案。请将其添加到答案中,以便我接受。
标签: regex windows powershell cmd command-line