找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31555|回复: 14

[文件操作] 批处理怎样把不同路径下相同名字的TXT文件更名后放到指定文件夹?

[复制链接]
发表于 2011-9-13 13:47:19 | 显示全部楼层 |阅读模式
请教各位高手:
   求教:需要把不同路径下相同名字的TXT文件更名相应的名字后放到指定文件夹的批处理
  如:
      D:\mater\cell1\data\fileinfo.a
         D:\mater\cell21\data\fileinfo.a
         D:\mater\cell35\data\fileinfo.a
         D:\mater\cell58\data\fileinfo.a
        .....
        很多的此类文件需要把Cell1\data下面的fileinfo.a更名为1.a并放置到D:\ABC下,把Cell21\data下面的fileinfo.a更名为21.a并放置D:\ABC下,如此类推.....

       非常感谢!
发表于 2011-9-13 19:10:07 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /s /b "D:\mater\*.a"') do (
  4.     for %%b in ("%%a\..\..") do (
  5.         set folderName=%%~nb
  6.         set fileName=!folderName:cell=!
  7.     )
  8.     move "%%a" "D:\!fileName!.a"
  9. )
复制代码
 楼主| 发表于 2011-9-13 20:57:16 | 显示全部楼层
怎么运行后什么都没有呢?帮忙看下那里有问题。谢谢
发表于 2011-9-13 21:03:50 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /s /b "D:\mater\*.a"') do (
  4.     for %%b in ("%%a\..\..") do (
  5.         set folderName=%%~nb
  6.         set fileName=!folderName:cell=!
  7.     )
  8.     move "%%a" "D:\ABC\!fileName!.a"
  9. )
复制代码
 楼主| 发表于 2011-9-14 07:26:07 | 显示全部楼层
不好意思,还是无法得到我需要的结果,那位高手帮帮忙啊。。。
发表于 2011-9-14 09:27:04 | 显示全部楼层
就这一句应该就可以了吧.把批处理放到mater目录下面运行.

  1. for /d %%i in (*) do copy %%i\data\fileinfo.a d:\abc\%%i.a
复制代码
发表于 2011-9-14 09:28:16 | 显示全部楼层
不好意思.看错了..原来只要留后面的数字..改改.
发表于 2011-9-14 09:51:55 | 显示全部楼层
回复 5# xqsong


请问跟你需要的结果相差在何处?
 楼主| 发表于 2011-9-14 10:40:20 | 显示全部楼层
两个程序都没有任何的COPY结果,好像是哪里出错了,帮忙调试下,谢谢。。。
发表于 2011-9-14 11:13:37 | 显示全部楼层
本帖最后由 CrLf 于 2011-9-14 12:42 编辑

来个另类的,只用 for:
  1. for /r D:\mater\ %%a in (fileinfo.a) do (
  2.   for %%b in ("%%a\..") do (
  3.      for /f "delims=Cel" %%c in ("%%~nxb") do copy "%%a" "D:\ABC\%%c.a"
  4.   )
  5. )
复制代码
 楼主| 发表于 2011-9-14 12:33:45 | 显示全部楼层
感谢各位的帮忙,Thanks!!!以后多向各位学习
发表于 2011-9-14 18:21:57 | 显示全部楼层
本帖最后由 zaixinxiangnian 于 2011-9-14 18:40 编辑

回复 4# awk


    请问这里面的for %%b in ("%%a\..\..") do 里面的..是什么意思啊
没有看出“..”作用        .. 在这里用意思啊?
发表于 2011-9-14 18:40:58 | 显示全部楼层
回复 10# CrLf


      请问这里面的for %%b in ("%%a\..") do ( 里面的..是什么意思啊
没有看出“..”作用        .. 在这里用意思啊?
发表于 2011-9-14 19:02:41 | 显示全部楼层
  1. @echo off&SetLocal EnableDelayedExpansion
  2. For /f %%i in ('dir /s /b "D:\mater\*.a"') do (
  3.         For /f "tokens=3 delims=" %%j in ("%%~fi") do (
  4.                 Set name=%%j
  5.                 Set name=!name:cell=!
  6.                 Ren "%%~fi" "!name!%%~xi"
  7.                 Copy /y "%%~dpi!name!%%~xi" D:\ABC
  8.                 )
  9.         )
  10. pause>nul
复制代码
发表于 2011-9-14 22:13:39 | 显示全部楼层
回复 12# zaixinxiangnian


父文件夹
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:54 , Processed in 0.020547 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表