Board logo

标题: [文件操作] [己解决]求如何实现批量复制和改名 [打印本页]

作者: ihogm    时间: 2009-7-13 10:43     标题: [己解决]求如何实现批量复制和改名

现在我有如下文件
E:\数据处理\已做\广西\广西_DONE\baise\biaodian.TAB
E:\数据处理\已做\广西\广西_DONE\beihai\biaodian.TAB
我想把baiodian.TAB文件复制到同一个文件夹里,
并把文件名改为上一级文件夹的名称如:baise.TAB,beihai.TAB

应该怎样写成批处理的BAT文件,感激不尽呀

再次谢谢tireless

[ 本帖最后由 ihogm 于 2009-7-13 14:45 编辑 ]
作者: tireless    时间: 2009-7-13 12:28

  1. @echo off
  2. cd /d "E:\数据处理\已做\广西\广西_DONE"
  3. for /f "delims=" %%a in ('dir /a-d/b/s *.TAB') do (
  4.   cd %%~dpa
  5.   for %%a in (.) do ren *.TAB "%%~nxa.*"
  6. )
复制代码

作者: ihogm    时间: 2009-7-13 13:27

谢谢tireless
基本上能用了
只是没有复制

有个问题, 这个是"%%~nxa.*"什么意思,为什么可以得到上有级的文件夹名称,如果想要得到上两层的文件夹名称可以怎么做?

[ 本帖最后由 ihogm 于 2009-7-13 14:00 编辑 ]
作者: tireless    时间: 2009-7-13 14:19

抱歉,没看清问题。
  1. @echo off
  2. cd /d "E:\数据处理\已做\广西\广西_DONE"
  3. for /f "delims=" %%a in ('dir /a-d/b/s *.TAB') do (
  4.   cd %%~dpa
  5.   for %%a in (.) do copy /b *.TAB "%%~nxa.tab">nul
  6. )
复制代码
%%~nxa          代表“文件名.扩展名”
ren a.txt b.*      后面的 * 代表 txt




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