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

[文件操作] [已解决]批处理怎样重命名文件及文件移动?

本帖最后由 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

回复 1# sdhaozao

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

TOP

回复 2# pcl_test

不好意思,语言描述不清晰请看图

TOP

本帖最后由 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
复制代码
1

评分人数

TOP

回复 4# pcl_test

非常感谢,完美解决!

TOP

返回列表