标题: [文本处理] 批处理怎样根据文本内容里的编号修改文件名? [打印本页]
作者: samsung4203 时间: 2012-4-1 11:06 标题: 批处理怎样根据文本内容里的编号修改文件名?
本帖最后由 samsung4203 于 2012-4-1 11:33 编辑
例如在123文件夹下有N个图片 批处理要根据a.txt的文本内容里的编号修改123文件夹下JPG的文件名
a.txt内容
1_T2hPSqXglaXXXXXXXX_!!737837801.jpg
2_T2rz5qXbVaXXXXXXXX_!!737837801.jpg
3_T2WBOkXkBXXXXXXXXX_!!737837801.jpg
4_T2F6KqXlJXXXXXXXXX_!!737837801.jpg
5_T29j9qXXRaXXXXXXXX_!!737837801.jpg
6_T2EZqmXnlaXXXXXXXX_!!737837801.jpg
7_T2O6WqXeXaXXXXXXXX_!!737837801.jpg
8_T2jOV8Xc0bXXXXXXXX_!!737837801.jpg
9_T29NqmXh0XXXXXXXXX_!!737837801.jpg
10_T2dq9lXfFXXXXXXXXX_!!737837801.jpg
11_T2ECenXbpXXXXXXXXX_!!737837801.jpg
12_T2bKSrXXhXXXXXXXXX_!!737837801.jpg
13_T2iKKrXX4XXXXXXXXX_!!737837801.jpg
14_T210irXaFbXXXXXXXX_!!737837801.jpg
15_T2PdmrXXpbXXXXXXXX_!!737837801.jpg
16_T2hdurXnBaXXXXXXXX_!!737837801.jpg
17_T2tuXQXdpcXXXXXXXX_!!737837801.jpg
18_T2uNumXhBXXXXXXXXX_!!737837801.jpg
19_T2Y1erXfBXXXXXXXXX_!!737837801.jpg
20_T2qJyrXl4aXXXXXXXX_!!737837801.jpg
21_T2z0CrXktaXXXXXXXX_!!737837801.jpg
22_T2g0GrXjpaXXXXXXXX_!!737837801.jpg
23_T2_JGrXiXaXXXXXXXX_!!737837801.jpg
24_T2edOrXgNaXXXXXXXX_!!737837801.jpg
25_T2ZdOrXfJaXXXXXXXX_!!737837801.jpg
26_T2ytSrXeVaXXXXXXXX_!!737837801.jpg
27_T2Z0mrXiXaXXXXXXXX_!!737837801.jpg
28_T2q0qrXhxaXXXXXXXX_!!737837801.jpg
29_T2gdurXgxaXXXXXXXX_!!737837801.jpg
30_T2IJurXfVaXXXXXXXX_!!737837801.jpg
31_T2sdyrXe0aXXXXXXXX_!!737837801.jpg
32_T2WdyrXelaXXXXXXXX_!!737837801.jpg
33_T2KJCrXddaXXXXXXXX_!!737837801.jpg
34_T2_JCrXcxaXXXXXXXX_!!737837801.jpg
35_T2f0SrXohXXXXXXXXX_!!737837801.jpg
36_T2nJWrXmFXXXXXXXXX_!!737837801.jpg
37_T2Nt5rXjtXXXXXXXXX_!!737837801.jpg
38_T2l1arXhlXXXXXXXXX_!!737837801.jpg
39_T2FhqmXixXXXXXXXXX_!!737837801.jpg
40_T26d9rXhFXXXXXXXXX_!!737837801.jpg
41_T2m1erXf0XXXXXXXXX_!!737837801.jpg
42_T2U1erXfhXXXXXXXXX_!!737837801.jpg
43_T2AUh9XbXbXXXXXXXX_!!737837801.jpg
44_T2Ppx_XXBXXXXXXXXX_!!737837801.jpg
45_T2Dop9XndaXXXXXXXX_!!737837801.jpg
46_T2bWSlXmXXXXXXXXXX_!!737837801.jpg
47_T2Pq1lXh0XXXXXXXXX_!!737837801.jpg
48_T21Ep9XmxaXXXXXXXX_!!737837801.jpg
49_T2Zox9Xi0aXXXXXXXX_!!737837801.jpg
50_T2aEJ9XfFaXXXXXXXX_!!737837801.jpg
51_T2_oB9XhXaXXXXXXXX_!!737837801.jpg
52_T2yEJ9Xe8aXXXXXXXX_!!737837801.jpg
53_T2moR9Xb8aXXXXXXXX_!!737837801.jpg
54_T20.J9XdtaXXXXXXXX_!!737837801.jpg
55_T2go89XmNXXXXXXXXX_!!737837801.jpg
56_T2mo49Xn8XXXXXXXXX_!!737837801.jpg
57_T2I.89XmdXXXXXXXXX_!!737837801.jpg
58_T2GFd_XjXXXXXXXXXX_!!737837801.jpg
59_T2wbyjXe8XXXXXXXXX_!!737837801.jpg
60_T2PryjXeFXXXXXXXXX_!!737837801.jpg
61_T28YyjXedXXXXXXXXX_!!737837801.jpg
62_T2FbCjXddXXXXXXXXX_!!737837801.jpg
63_T2YbGjXa0XXXXXXXXX_!!737837801.jpg
64_T2OHKjXXJXXXXXXXXX_!!737837801.jpg
65_T2fbujXhhXXXXXXXXX_!!737837801.jpg
66_T2ToVHXflaXXXXXXXX_!!737837801.jpg
67_T2UrujXgdXXXXXXXXX_!!737837801.jpg
68_T29HujXfNXXXXXXXXX_!!737837801.jpg
69_T206qiXiVaXXXXXXXX_!!737837801.jpg
70_T2ZrujXf8XXXXXXXXX_!!737837801.jpg
71_T2m8GpXdNaXXXXXXXX_!!737837801.jpg
72_T22wWnXj0XXXXXXXXX_!!737837801.jpg
73_T2IwWnXklXXXXXXXXX_!!737837801.jpg
74_T2kNGyXiRaXXXXXXXX_!!737837801.jpg
75_T2wg1nXjdXXXXXXXXX_!!737837801.jpg
76_T2whGyXixaXXXXXXXX_!!737837801.jpg
77_T2kOmyXf0XXXXXXXXX_!!737837801.jpg
78_T2l35nXh4XXXXXXXXX_!!737837801.jpg
79_T2hNenXo4XXXXXXXXX_!!737837801.jpg
80_T2O20SXXxaXXXXXXXX_!!737837801.jpg
81_T2nN1yXg4XXXXXXXXX_!!737837801.jpg
根据文件编号修改JPG的文件名 如:
1_T2hPSqXglaXXXXXXXX_!!737837801.jpg 修改为:X001.ipg
2_T2rz5qXbVaXXXXXXXX_!!737837801.jpg 修改为:X002.ipg
3_T2WBOkXkBXXXXXXXXX_!!737837801.jpg 修改为:X003.ipg
以此类推
作者: ArdentMan 时间: 2012-4-1 11:43
本帖最后由 ArdentMan 于 2012-4-1 12:08 编辑
- @Echo Off
- For %%a In (123\*.jpg) Do (
- Set "Var=%%a"
- For /F "Delims=_" %%b In ("%%~na") Do (
- Set "Str=000%%b"
- SetLocal EnableDelayedExpansion
- Set "Str=!Str:~-3!"
- Ren "!Var!" "!Str!.jpg"
- EndLocal
- )
- )
- Echo ok
- Pause>Nul
复制代码
作者: samsung4203 时间: 2012-4-1 11:57
测试不成功!
作者: ArdentMan 时间: 2012-4-1 12:09
回复 3# samsung4203
开始多了个'符,请再测试,如出错,请将信息贴出。。。
作者: samsung4203 时间: 2012-4-1 12:31
本帖最后由 samsung4203 于 2012-4-1 12:39 编辑
运行批处理后一直显示 OK字符! 图片名称没有按a.txt的编号进行修改
作者: samsung4203 时间: 2012-4-1 12:40
回复 4# ArdentMan
运行批处理后一直显示 OK字符! 图片名称没有按a.txt的编号进行修改
作者: apang 时间: 2012-4-1 13:23
本帖最后由 apang 于 2012-4-1 13:27 编辑
- @echo off
- for /f "delims=" %%a in (a.txt) do (
- set "name=%%a"
- call :11 "%%a"
- )
- pause
- :11
- set "name=%name:~,2%"
- if "%name:~1%"=="_" set name=0%name:~,1%
- ren "%~1" "X0%name%%~x1"
复制代码
试试
作者: samsung4203 时间: 2012-4-1 13:34
回复 7# apang
运行批处理 提示:系统找不到指定的文件
我是把 批处理和a.txt都放在123文件夹里运行的
作者: apang 时间: 2012-4-1 13:45
晕死,你的txt中的文件名与实际文件名不一致。。。
作者: samsung4203 时间: 2012-4-1 13:52
回复 9# apang
啊。。老大! 比如说文件夹里有T2hPSqXglaXXXXXXXX_!!737837801.jpg 这个文件 txt中的编码是1_T2hPSqXglaXXXXXXXX_!!737837801.jpg 编码是我自己加上去的! 我就是要批处理读取txt中的信息 来批量改文件夹中的文件
作者: apang 时间: 2012-4-1 14:01
- @echo off
- for /f "delims=" %%a in (a.txt) do call :11 "%%a"
- pause
- :11
- set "name=%~1"
- set "name=%name:~,2%"
- set "name1=%~1"
- set "name1=%name1:*_=%"
- if "%name:~1%"=="_" set name=0%name:~,1%
- if exist "%name1%" ren "%name1%" "X0%name%%~x1"
复制代码
再试试
作者: samsung4203 时间: 2012-4-1 14:03
回复 11# apang
老大!测试成功了 多谢啊! 你真是高手! 以后拜你为师了! 改天来北京的话 请你吃饭啊
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |