Board logo

标题: [文件操作] 批处理怎样按照数字把图片排序? [打印本页]

作者: ivan_lin    时间: 2018-10-19 17:43     标题: 批处理怎样按照数字把图片排序?

A(1).jpg
A(2).jpg
A(3).jpg
A(4).jpg
B(1).jpg  
B(2).jpg
B(3).jpg
B(4).jpg



A(1).jpg
B(1).jpg  
A(2).jpg
B(2).jpg
A(3).jpg
B(3).jpg
A(4).jpg
B(4).jpg

我文件夹有8张图,原本是上面的排序方式,批处理怎样把它变成下面的排序方式。前面的命名不一定是字母。
作者: Batcher    时间: 2018-10-19 18:53

使用ren命令把 A(1).jpg 重命名成(1)A.jpg这种格式
作者: xp3000    时间: 2018-10-19 19:33

  1. ren2 -f "(.)((.))\.(JPG|jpg)" "$2$1.$3"
复制代码
目前只能这样弄了,Windows没这个排列方式,工具在这里,
http://batch-cn.qiniudn.com/tool/ren2.exe
作者: xczxczxcz    时间: 2018-10-19 19:49

这个不是 for /l 就搞定了吗?
for /l %%a in (1 1 4) do for /f "delims=" %%i in ('dir/a-d/b *(%%a)*.jpg') do echo %%i
作者: ivan_lin    时间: 2018-10-22 18:50

回复 2# Batcher


    这个我知道,但我想实现的是如上我所说的效果看看行不行,是实现到文件夹内看得见,而不是在控制台看见输出
作者: ivan_lin    时间: 2018-10-22 18:54

回复 4# xczxczxcz


    能实现效果吗,在文件夹看得到图片的排序变了,而不是在控制台看到输出而已。
作者: Batcher    时间: 2018-10-22 19:32

回复 5# ivan_lin


    Windows的资源管理器没有这种排序方式
作者: ivan_lin    时间: 2018-10-23 16:55

回复 7# Batcher

好的,琢磨了一阵子采用了重命名的方法了

::  用于图片文件命名 :  *** (n).jpg 和 (n)_*** (n).jpg  两种命名的切换

@echo off
:cho
echo\
echo ------1.增加序号前缀  *** (n).jpg  →  (n)_*** (n).jpg
echo\
echo ------2.清除序号前缀  (n)_*** (n).jpg  →  *** (n).jpg
echo\
set choice=
set /p choice= 请输入对应序号并按回车:
if not "%choice%"=="" set choice=%choice:~0,1%
if /i %choice%==1 goto add
if /i %choice%==2 goto clear
echo 选择无效,请重新输入
echo\
goto cho

:clear
for /f "delims=" %%a in ('dir /b /a-d *.jpg') do (for /f "tokens=1* delims=_" %%i in ("%%a") do ren "%%a" "%%j")
goto :eof

:add
for /f "delims=" %%a in ('dir /b /a-d *.jpg') do (for /f "tokens=2 delims=()" %%m in ("%%a") do ren "%%a" "(%%m)_%%a")
goto :eof




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