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

[文件操作] [己解决]求如何实现批量复制和改名

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

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

再次谢谢tireless

[ 本帖最后由 ihogm 于 2009-7-13 14:45 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

  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. )
复制代码

TOP

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

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

[ 本帖最后由 ihogm 于 2009-7-13 14:00 编辑 ]

TOP

抱歉,没看清问题。
  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

TOP

返回列表