Board logo

标题: [文件操作] 批处理如何将DBF文件,按子文件夹的名称。重命名之后,存储到另一个目录? [打印本页]

作者: macherater    时间: 2015-7-16 15:10     标题: 批处理如何将DBF文件,按子文件夹的名称。重命名之后,存储到另一个目录?

需求如下:
有一个15425的目录,下面会按天生成,诸如20150715,20150716的子文件夹,
每个文件夹里,有3个DBF文件。例如A.DBF;B.DBF; C.DBF

现在想实现的效果是,所有子文件夹里的这些文件。文件名上都加上文件夹后缀。
例如文A.dbf,
在20150715子目录下,重命名为A_20150715.dbf
在20150715子目录下,重命名为A_20150716.dbf
同理其他子文件和子目录。

最终将这些文件,都放置到15425目录下的一个新的目录temp中。
相当将所有子文件夹下的文件,统一放置于一个新的目录里。

求解,哪位大侠帮忙看看这个需求,万分感谢。
作者: bailong360    时间: 2015-7-16 15:29

  1. @echo off
  2. md temp 2>nul
  3. for /d %%d in (*) do if not "%%~nd"=="temp" call :ren "%%d"
  4. exit
  5. :ren
  6. for /r %1 %%i in (*.dbf) do move /y "%%i" ".\temp\%%~ni_%~n1.dbf"
  7. rd %1
复制代码

作者: Batcher    时间: 2015-7-16 15:37

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad ^| findstr /i /v "temp"') do (
  3.     for /f "delims=" %%j in ('dir /b /a-d %%i\*.dbf') do (
  4.         ren "%%i\%%j" "%%~nj_%%i%%~xj"
  5.         move /y "%%i\%%~nj_%%i%%~xj" "temp"
  6.     )
  7. )
复制代码





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