Board logo

标题: [文本处理] 批处理怎样实现文件夹下按顺序改名? [打印本页]

作者: popxxterry    时间: 2023-3-16 15:17     标题: 批处理怎样实现文件夹下按顺序改名?

本帖最后由 popxxterry 于 2023-3-16 17:09 编辑

多文件夹下的图片命名为D-1 ,D-2,D-3, ......,D-无穷大(2000个够了)有个条件是文件夹原本顺序修改。
例:
原图:https://imgse.com/i/pp8uLm4
修改后:https://imgse.com/i/pp8uJSK

例子文字叙述:文件里的图片1、2、3、4、5……这样命名的图片,要改成D-1 D-2 D-3 D-4 D-5……命名的图片,就是不要原来4号图跑到2号这样,要按照当前文件顺序去修改D-数字,这样
作者: 77七    时间: 2023-3-16 15:25

文件夹原本顺序是什么顺序呢?
作者: Batcher    时间: 2023-3-16 15:25

回复 1# popxxterry


请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: popxxterry    时间: 2023-3-16 15:41

回复 2# 77七


    原本顺序是1、2、3、4、5、6……这样的,但是根据以前使用的改名字的bat,会出现修改后图片顺序变了,所以加了个按顺序这样的条件。
作者: 77七    时间: 2023-3-16 15:57

回复 4# popxxterry

有个条件是文件夹原本顺序修改

   你可以按3楼站长所说,举个例子吧,最好提供真实文件名,直接在顶楼补充说明
作者: popxxterry    时间: 2023-3-16 17:15

回复 5# 77七


    写好了,不知道是否看的懂
作者: terse    时间: 2023-3-16 17:19

楼主给的例子就是原文件名加上D-组成新的文件名
作者: 77七    时间: 2023-3-16 17:41

本帖最后由 77七 于 2023-3-16 17:43 编辑

回复 6# popxxterry

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do (
  3.         pushd "%%i"
  4.         for /l %%l in (1,1,2000) do (
  5.                 if exist "%%l.jpg" (
  6.                         ren "%%l.jpg" "D-%%l.jpg"
  7.                 )
  8.         )
  9.         popd
  10. )
  11. pause
复制代码


不是很明白,可能产生了代沟...试试这样行吗,如果有需要,可以在数字前面补0,这样按文件名排序,会展现0001-2000的顺序,否则即使你1-2000,应该也不是从小到大的顺序吧...
使用前先备份
作者: popxxterry    时间: 2023-3-16 17:44

回复 8# 77七


    可以用的,谢谢
作者: qixiaobin0715    时间: 2023-3-23 09:29

本帖最后由 qixiaobin0715 于 2023-3-23 16:20 编辑

好像用不着排序,顺序不影响重命名:
  1. for /f "delims=" %%i in ('dir /s /b /a-d *.jpg') do ren "%%i" "D-%%~ni.jpg"
复制代码





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