[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样根据文本内容里的编号修改文件名?

本帖最后由 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 12:08 编辑
  1. @Echo Off
  2. For %%a In (123\*.jpg) Do (
  3.   Set "Var=%%a"
  4.   For /F "Delims=_" %%b In ("%%~na") Do (
  5.     Set "Str=000%%b"
  6.     SetLocal EnableDelayedExpansion
  7.     Set "Str=!Str:~-3!"
  8.     Ren "!Var!" "!Str!.jpg"
  9.     EndLocal
  10.   )
  11. )
  12. Echo ok
  13. Pause>Nul
复制代码
一路飘过的鸟~~~

TOP

测试不成功!

TOP

回复 3# samsung4203
开始多了个'符,请再测试,如出错,请将信息贴出。。。
一路飘过的鸟~~~

TOP

本帖最后由 samsung4203 于 2012-4-1 12:39 编辑



运行批处理后一直显示 OK字符! 图片名称没有按a.txt的编号进行修改

TOP

回复 4# ArdentMan


   

运行批处理后一直显示 OK字符! 图片名称没有按a.txt的编号进行修改

TOP

本帖最后由 apang 于 2012-4-1 13:27 编辑
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.   set "name=%%a"
  4.   call :11 "%%a"
  5. )
  6. pause
  7. :11
  8. set "name=%name:~,2%"
  9. if "%name:~1%"=="_" set name=0%name:~,1%
  10. ren "%~1" "X0%name%%~x1"
复制代码
试试

TOP

回复 7# apang


    运行批处理 提示:系统找不到指定的文件
我是把 批处理和a.txt都放在123文件夹里运行的

TOP

晕死,你的txt中的文件名与实际文件名不一致。。。

TOP

回复 9# apang


    啊。。老大! 比如说文件夹里有T2hPSqXglaXXXXXXXX_!!737837801.jpg 这个文件 txt中的编码是1_T2hPSqXglaXXXXXXXX_!!737837801.jpg 编码是我自己加上去的! 我就是要批处理读取txt中的信息 来批量改文件夹中的文件

TOP

  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do call :11 "%%a"
  3. pause
  4. :11
  5. set "name=%~1"
  6. set "name=%name:~,2%"
  7. set "name1=%~1"
  8. set "name1=%name1:*_=%"
  9. if "%name:~1%"=="_" set name=0%name:~,1%
  10. if exist "%name1%" ren "%name1%" "X0%name%%~x1"
复制代码
再试试

TOP

回复 11# apang


    老大!测试成功了 多谢啊! 你真是高手! 以后拜你为师了!  改天来北京的话 请你吃饭啊

TOP

返回列表