Board logo

标题: [文件操作] [已解决]批处理怎样重命名文件及文件移动? [打印本页]

作者: sdhaozao    时间: 2015-2-9 22:11     标题: [已解决]批处理怎样重命名文件及文件移动?

本帖最后由 sdhaozao 于 2015-2-10 07:54 编辑

问题描述:

问题一:
文件夹名字:AAA

文件名字:01-BBB.PDF
                  02-CCC.PDF
                  03-DDD.PDF
改名后效果:
        AAA-01-BBB.PDF
        AAA-02-CCC.PDF
        AAA-03-DDD.PDF
请帮助写一个批处理文件
(补充,批处理文件是否可以在顶层文件夹,这样顺便可以修改子目录里面文件的名字)

因为是小白,我找到一个命令能取得上两层的文件夹名称,但是我只需要一层的,求大神帮助修改。、
代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b/a-d *.txt') do (
  3.   if not "!dpstr!"=="%%~dpa" (
  4.       set "dpstr=%%~dpa"
  5.       call :findcd "%%~dpa" "_cd"
  6.   )
  7.   ren "%%a" "!_cd:\=-!%%~nxa"
  8. )
  9. goto :eof
  10. :findcd
  11. set "cd_=%~1"
  12. :loop
  13. set "cd_=%cd_:*\=%"
  14. set "cd_tmp=%cd_:\=%"
  15. if not "%cd_tmp%\"=="%cd_%" set "%~2=%cd_%"&goto loop
  16. goto :eof
复制代码
问题二:(没有解决求助)
文件夹:AAA
文件名字:BBB.PDF
                   CCC.PDF
                   DDD.PDF
文件夹:XXX
文件名字:111.PDF
                  222.PDF
                  333.PDF
移动所有 BBB.PDF , CCC.PDF, DDD.PDF, 111.PDF , 222.PDF , 333.PDF 到新文件夹  999
作者: pcl_test    时间: 2015-2-9 22:36

回复 1# sdhaozao

把文件夹结构说清楚
1、是否假设有A文件夹,里面有AAA等若干文件夹,为AAA等若干文件夹里PDF文件夹的名字添加所在文件夹名?
2、AAA和XXX文件夹在同一个目录里吗?999又在哪里?
作者: sdhaozao    时间: 2015-2-9 22:54

回复 2# pcl_test

不好意思,语言描述不清晰请看图
作者: pcl_test    时间: 2015-2-9 23:51

本帖最后由 pcl_test 于 2015-2-10 00:03 编辑

回复 3# sdhaozao
  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
复制代码

作者: sdhaozao    时间: 2015-2-10 07:54

回复 4# pcl_test

非常感谢,完美解决!




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