Board logo

标题: [文本处理] [已解决]批处理选择性删除文件的一个求助 [打印本页]

作者: 灯塔彭于晏    时间: 2021-3-1 23:36     标题: [已解决]批处理选择性删除文件的一个求助

谢谢您啦,祝您牛年大吉。

现在桌面有图片,命名规则为:
  1. XXXX_1.jpg
  2. XXXX_2.jpg
  3. XXXX_3.jpg
  4. XXXX_4.jpg
  5. XXXX_5.jpg
  6. XXXX_6.jpg
  7. ……
  8. XXXX_n.jpg
复制代码
之所以到N,是因为不知道每次会生成多少张,但整体的命名规则如上。

要求是:只保留第一张(XXXX_1.jpg),其他全都删除(也就是名称中出现_2 _3 _4 …… _n的那些图片)。
删除后,这张XXXX_1.JPG,也要重命名为: XXXX.jpg(去掉_1 )


谢谢。
作者: Batcher    时间: 2021-3-2 11:32

回复 1# 灯塔彭于晏


    能否把你的代码发出来大家可以一起探讨下
作者: netdzb    时间: 2021-3-2 14:09

回复 2# Batcher

既然他不是很愿意分享的人,以后他的问题
不做回复就是了。论坛自私的人挺多的,
解决问题删帖的,解决问题不做分享的。
希望论坛的考评制度更完善一些吧。
作者: smss    时间: 2021-3-2 18:04

回复 3# netdzb 发自己的光就好
作者: qixiaobin0715    时间: 2021-3-2 23:09

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*_*.jpg) do (
  4.     set str=%%a
  5.     if "!str:~-6!"=="_1.jpg" (ren "%%a" "!str:_1=!") else del "%%a"
  6. )
  7. pause
复制代码

作者: 灯塔彭于晏    时间: 2023-8-16 16:14

回复 3# netdzb


    我那是工具下载的,我咋分享代码。我只是有一堆工具下载后的图片文件,外加命名都是如上所述。 - - 我没有不想帮助别人啊。
作者: qixiaobin0715    时间: 2023-8-16 16:54

回复 6# 灯塔彭于晏
感觉5楼代码最好改为for /f...('dir...')的形式保险。不带参数的for有时会出现问题。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2