Board logo

标题: [文件操作] [已解决]批处理怎样把文件命名后移回去? [打印本页]

作者: lxh623    时间: 2011-11-3 10:57     标题: [已解决]批处理怎样把文件命名后移回去?

本帖最后由 lxh623 于 2011-11-5 20:24 编辑

文本b是原始名称及其路径:
E:\应用-电子电力\办公设备\electrophotography\JP60191240-Fuji.pdf
E:\应用-电子电力\办公设备\electrophotograph blade\JP2004246086-=現像ブレードとその製造方法--普利斯通.pdf

我把想命名的文件事先移动到“E:\JP-WKA”,并且已经完成重新命名:
JP60191240-=photographic photosensitive material - has graft interpolymer including silicone unit in at least one layer of photosensitive material on
JP2004246086-=manufacturing method for image development blade, involves forming blade portion and supporting plate by two color molding using liquid
怎样把这些文件移动回去?
谢谢您!

以前求到过一个批处理,重新命名文件,但是文件处于三级以上目录,批处理运行很慢,基本不行(原始代码仅供参考,对于现在这个用处不大);而且pdf与txt要运行两次。
  1. @echo off
  2. for /f "delims=" %%i in ('dir/b/s/ad e:\') do (
  3.       for /f "tokens=1* delims=-" %%j in (a.txt) do (
  4.          if exist "%%i\*%%j*.pdf" ren "%%i\*%%j*.pdf" "%%j-%%k.pdf" 2>nul
  5. ))
  6. pause
复制代码

作者: awk    时间: 2011-11-3 13:26

把“移动过去,重命名,移动回来”改成“直接重命名”行吗?
作者: lxh623    时间: 2011-11-3 14:50

把“移动过去,重命名,移动回来”改成“直接重命名”行吗?
awk 发表于 2011-11-3 13:26

上面那个代码,很慢。
作者: lxh623    时间: 2011-11-5 20:23

本帖最后由 lxh623 于 2011-11-5 20:39 编辑

已经自己解决。
因为一直在求代码,从代码中修改得到新代码。
http://bathome.l3.wuyou.com/thread-2628-1-1.html
作者: lxh623    时间: 2011-11-8 07:22

本帖最后由 lxh623 于 2011-11-8 11:18 编辑

一楼的搜索命名的代码,我经过学习,根据自己的要求修改了,感觉能行了。
  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b/a:d-h E:\') do (
  3.       for /f "tokens=1* delims=-" %%j in (a.txt) do (
  4.          if exist "%%i\%%j*.pdf" ren "%%i\%%j*.pdf" "%%j-%%k.pdf" 2>nul
  5. ))
  6. pause
复制代码
就是不知道“find,然后rename”会不会更快?代码正确吗?
  1. @echo off
  2. for /f "tokens=1* delims=-" %%j in (a.txt) do (
  3.          dir/s(CHKDSK/V E:,或者Find E:) "%%j*.pdf" ren "%%j*.pdf" "%%j-%%k.pdf" 2>nul
  4. )
  5. pause
复制代码

作者: lxh623    时间: 2011-11-8 10:51

本帖最后由 lxh623 于 2011-11-8 11:18 编辑

这个命令直接处理pdf和文本,可以吗?
试验了,好像可以。
  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b/a:d-h E:\') do (
  3.       for /f "tokens=1* delims=-" %%j in (a.txt) do (
  4.          if exist "%%i\%%j*.pdf" ren "%%i\%%j*.pdf" "%%j-%%k.pdf" 2>nul
  5.          if exist "%%i\%%j*.txt" ren "%%i\%%j*.txt" "%%j-%%k.txt" 2>nul
  6. ))
  7. pause
复制代码





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