DOS按规则批量重命名所有(子)目录下文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOS按规则批量重命名所有(子)目录下文件相关的知识,希望对你有一定的参考价值。

一个路径下面有很多个很多级的子目录,里面都包含 R(??)*.jpg还有R(??)*.tif若干个,希望改名的时候整个路径下的所有子目录里的同编码的文件全部一起改了。

比如 R(20)百度知道开放平台.jpg 和 R(20)手机知道个人中心经验.tif 等等这些文件名都改成 R(20)咨询专家 改名后后缀名不变。

好像是要用echo吧。请问怎么写?
恩,希望用dos或批处理bat文件实现都行

一种方法就是做个批处理程序,内容就是无数个rename命令行
这么多命令行一个个敲不是累坏了,用excel处理。
第一步,命令行进入文件所在目录,输入命令:dir/b > c:\filename,在C盘就有一个保存目录下所有文件名的文本文件了。
第二步,用excel打开这个文件(打开对话框的文件类型要选择所有文件),所有的文件名就出现在excel的第一列了。
第三步,excel编辑这个文件做成批处理需要的格式,文件名前面插入一列,全部填上rename,第二列是原始文件名了,第三列是要修改成的文件名,按照你的需求来做吧,复制、查找替换什么的。
第四步,保存文件,保存对话框选择所有文件类型,文件名写成filename.bat。主要是扩展名写成bat,前面的名字随便了。
第五步,filename. bat拷贝到要处理的那个目录下,命令行进入这个目录,执行filename.bat。
完成。
其他需求,自己可以想想看。
参考技术A FOR /f "delims= tokens=1*" %a IN ('dir /a-d/b/s *.jpg') DO (
copy %a e:\01
)
FOR /f "delims= tokens=1*" %a IN ('dir /a-d/b/s *.tif') DO (
copy %a e:\02
)
参考技术B 下载个 应用软件不就好了吗?比如 filerename 批量改名专家

批量修改文件夹下的所有文件名称

这些文件的名称都有一个“腾讯”这两个字,如何批量的把这两个字去掉,希望大师给予指点!
我希望大师能通过dos语言来实现。

1、电脑打开要批量命名的文件夹。


2、打开要批量命名的文件夹后,Ctrl+A全选文件。


3、全选后,鼠标右键点击第一个文件,然后选择重命名。


4、点击重命名后,输入要改的名称,然后按回车键。


5、按回车后,所有图片名称就都改了。

参考技术A

    在文件的地方按住“shift”+"右键","在此处打开命令窗口".(比如我这里要把包含“腾讯1-4”的文件名字改掉)

    然后在命令行输入“dir>name.txt”

    这样就会出现一个“name.txt”文件。我们打开它,只复制我们需要修改的内容。

    新建一个excal表格,把内容粘贴进去。

    之后在第一列加入“ren”(ren命令是windows自带的重命名命令),第二列为原本的文件名,第三列为我们的目标文件名。比如我这里要把“腾讯1-4”改成“1”,”2“,”3“,”4“。在excal中选中“腾讯1-4”列,按”ctrl+f“,选择“替换”,将”腾讯“替换成”“空格。

    之后复制出表格的内容到一个新的txt文件中,并将文件后缀名改为”.cmd“。双击运行这个.cmd就可以了。

本回答被提问者采纳
参考技术B 贴代码,话不多说

package com.jnd.text;

import java.io.File;

public class Myfiles
public static void main(String[] args)
name("F:\\测试");//引号里面改成你想要改的文件夹所在的路径

public static int name(String path)
//0:文件夹
int t=0;
File f = new File(path);
if(f.isDirectory())
//如果不需要更改文件夹下面文件夹里面的文件名称,就把这几行注释了
System.out.println("路径是目录");//如果是文件夹(Midir)
File[] fs=f.listFiles();//获取文件夹下的所有文件
for (File file : fs)
System.out.println(file.getName());
name(file.getPath());//循环判断文件夹下列表是不是文件夹

else
System.out.println(f.getName().substring(0,f.getName().indexOf(".") ));
System.out.println("路径不是目录"); //不是文件夹
System.out.println("修改前文件名称是:"+f.getName());
String mypath = f.getParent();//获取文件所在路径
String pname = f.getParentFile().getName()+".";//获取父文件夹的名称
if(!pname.equals(f.getName().substring(0, f.getName().indexOf(".")+1)))//判断该文件名称是否已经以父文件夹的名称开头
System.out.println("根路径是:"+mypath+",上一级文件夹名为:"+pname);
File newFile = new File(mypath + File.separator +pname+f.getName() );//重新更新文件
System.out.println("修改后文件名称是:"+newFile.getName());
if (f.renameTo(newFile))
System.out.println("修改成功!");
else
System.out.println("修改失败");




return t;
参考技术C 使用批量文件修改工具,批量删除文件名中你要删除的文字。 参考技术D 如是用电脑的话可以用文件处理工具如total commander等。很容易上手的。

以上是关于DOS按规则批量重命名所有(子)目录下文件的主要内容,如果未能解决你的问题,请参考以下文章

dos 文件重命名

批处理:批量重命名父文件夹下所有子文件夹里的文件

Bat批处理:批量重命名包含指定名称文件夹里的指定文件

bat批处理文件夹下所有子文件夹下最后一个的文件重命名?

用Python批量重命名文件

目录下所有图片按修改时间批量重命名