标题: [文件操作] 批处理怎样提取文件夹名命名文件夹下的文件并整合? [打印本页]
作者: opp113114 时间: 2011-2-9 10:52 标题: 批处理怎样提取文件夹名命名文件夹下的文件并整合?
有一列文件夹名为 |
01010289.D |
01010290.D |
01010291.D |
每个文件夹下都有一个default.txt文件。我现在想要把每个txt文件改名为文件夹名(不要.D).txt
并且放置在同一文件夹下。有什么办法么请各位帮帮我。
作者: abcd 时间: 2011-2-9 11:05
- @echo off
- for /d %%i in (*) do (
- ren %%i\default.txt %%~ni.txt
- )
- pause
复制代码
代码与01010289.D类文件夹同目录
作者: opp113114 时间: 2011-2-9 11:09
显示系统找不到制定的文件啊。
作者: abcd 时间: 2011-2-9 11:13
我这测试没问题。。,
作者: opp113114 时间: 2011-2-9 11:15
按照你说的放的位置一样。是不是因为文件比较多的原因呢我这里有700多个。
作者: abcd 时间: 2011-2-9 11:16
是不是楼主的文件夹下没有default.txt文件,如果没有这个文件是会显示这样的提示的
作者: opp113114 时间: 2011-2-9 11:17
对,个别有的文件夹下没有。
作者: abcd 时间: 2011-2-9 11:23
如果这样的话,是没事的,有default.txt就会改了,没有的,就会有出错提示,并不影响运行结果
作者: abcd 时间: 2011-2-9 11:24
如果想没有提示,可以改成如下代码- @echo off
- for /d %%i in (*) do (
- ren %%i\default.txt %%~ni.txt>nul 2>nul
- )
- pause
复制代码
作者: opp113114 时间: 2011-2-9 11:33
非常感谢你。我明白你的意思了。可是我想吧这些改名以后的文件统一放到一个文件夹下该怎么办呢。
作者: opp113114 时间: 2011-2-9 11:43
在线等啊~~谢谢大家的热心帮忙
作者: hanyeguxing 时间: 2011-2-9 12:04
如果指定目录不在当前目录下且为绝对路径:- @echo off
- for /d %%a in (*) do if exist "%%a\default.txt" move "%%a\default.txt" "指定目录\%%~na.txt"
复制代码
如果指定目录在当前目录下:- @echo off
- set r=指定目录名
- for /d %%a in (*) do if /i not "%%a"=="%r%" if exist "%%a\default.txt" move "%%a\default.txt" "%r%\%%~na.txt"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |