Board logo

标题: [文件操作] [已解决]批处理实现文件重命名&移动 [打印本页]

作者: sdhaozao    时间: 2015-2-10 11:13     标题: [已解决]批处理实现文件重命名&移动

非常感谢大神的帮助,现在重新整理了流程,希望能有大神帮助做一个完整的批处理文件,谢谢!

下面这段代码来自@pcl_test 非常感谢,主要用来取得上层文件夹名称及文件移动
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "D:\XX\A\"
  4. for /f "delims=" %%a in ('dir /s/b *.pdf') do (
  5. set "filesdir=%%~dpa"
  6. set "filesdir=!filesdir:~0,-1!"
  7. >$ echo !filesdir!
  8. for /f "delims=" %%b in ('type $') do (
  9. set "name=%%~nb"
  10. )
  11. move "%%a" "D:\999\!name!-%%~na.PDF"
  12. )
  13. del $ /f /q
  14. pause
复制代码
能否根据上面这段代码帮助在文件中间增加一段文件名:例如A对应01,B对应02,C对应03,D对应04,E对应05,F对应06.
作者: apang    时间: 2015-2-10 22:09

这样?
  1. @echo off & setlocal enabledelayedexpansion
  2. cd /d "D:\XX\A\"
  3. set n=100
  4. for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  5.         set /a n+=1 & set "_%%a=!n:~1!"
  6. )
  7. for /f "delims=" %%a in ('dir /s/b^|findstr /ie \\[A-Z]\.pdf') do (
  8.         for %%b in ("%%~dpa.") do (
  9.                 move "%%a" "D:\999\%%~nxb-!_%%~na!-%%~nxa"
  10.         )
  11. )
  12. pause
复制代码

作者: sdhaozao    时间: 2015-2-10 22:40

回复 2# apang


大哥非常感谢,我明天就是公司测试一下,

另外我咨询一下这里
A可以替换成 文件名 fit-up.pdf
B可以替换成weld VI.pdf
C可以替换成 stage release.pdf
E可以替换成成 MT.pdf 或者 ut.pdf 吗?

我为了说明的简洁所以用ABCD替换撸,我感觉我又做错撸。。。
作者: CrLf    时间: 2015-2-10 22:45

回复 3# sdhaozao


把那行 in (A B C D...) do 什么的替换成这个试试:
  1. for %%a in ("fit-up" "weld VI" "stage release" "MT.pdf") do (
复制代码
警告:危险操作不可还原,建议先用样本测试!




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