批处理BAT。修改指定文件夹(带目录)下的文件名称(单一的和批量的)

例如,我要把d:\111\111.txt修改为d:\111\222.txt(这是单一的)还有就是批量的,例如我先要把d:\111.txt修改为d:\111\222.txt... 例如,我要把d:\111\111.txt修改为d:\111\222.txt(这是单一的)
还有就是批量的,例如我先要把d:\111.txt修改为d:\111\222.txt然后修改d:\111\333.txt为d:\111\444.txt(一个BAT)(都是带/f命令的)
还有就是知道文件名如111.txt,但不明确它的路径,请问这3个问题该如何解决,BAT最初级入门,请高手们写详细点,劳驾各位高手
还有就是知道文件名比如(*\111\222.txt)盘符不知道,该怎么自动搜索并修改为333.txt
展开
 我来答
whatesit
2010-10-12 · TA获得超过141个赞
知道答主
回答量:39
采纳率:0%
帮助的人:59.4万
展开全部
1. 单一的重命名,代码如下:
@echo off
rename D:\111\111.txt 222.txt
pause

2. 批量的重命名,请根据你的命名规则使用for循环即可。代码如下:
@echo off
cd /d D:\
if exist 111.txt (
if not exist D:\111\ md 111
copy 111.txt 111\222.txt
del 111.txt
rename 111\333.txt 444.txt
)
pause

3. 知道文件名如111.txt,但不明确它的路径,搜索文件如下:
@echo off
for %%i in (c d e f g h) do (
cd /d %%i:\
echo 搜索%%i盘...
dir /s /b 111.txt
)
pause

4. 知道文件名比如(*\111\222.txt)盘符不知道,自动搜索并修改为333.txt
@echo off
for %%i in (c d e f g h) do (
cd /d %%i:\
echo 搜索%%i盘...
rem 搜索111文件夹
for /f %%j in ('dir /s /b /a:d *111') do (
if "%%~nj"=="111" (
if exist %%j\222.txt (
echo rename %%j\222.txt 333.txt
rename %%j\222.txt 333.txt
)
)
)
)
pause
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式