手机版

DOS下如何批量修改文件名?关于批量修改文件名的意见

时间:2021-09-02 来源:互联网 编辑:宝哥软件园 浏览:

如果我们需要使用批处理命令批量修改文件名,我们首先需要确定这些文件的命名格式。作者总结了网络上的一些知识,并举了一些例子给大家看。文章最后介绍了一些变量和参数。

如何在DOS下批量修改文件名?批处理修改文件名称一些见解

今天我们要批量重命名一些文件(就是有很多子目录file1、file2、file3……filen子目录下有一个文件aaa.jpg,现在我们要把aaa.jpg重命名为有子目录的名字,比如file1下的file1.jpg)。当我们想到DOS处理的时候,我们在网上找到了一些现成的脚本,但是没有达到预期的目的。当我们烦恼的时候,我们就编了一些DOS相关的知识,包括基本的命令,并专注于此

  如何在DOS下批量修改文件名?

第一种方法的思路和第二种方法大致相同,只是在获取完整路径时,使用了效率更高的for /r语句,用变量var获取文件所在文件夹的完整路径,通过判断var是否赋值来判断当前处理的音乐文件是否位于同一个目录,因为直接用%%~dpa获取的字符串末尾有反斜杠,所以在第二种for语句中,使用!var:~,-1!最后一个反斜杠被去掉了(在for语句中,如果要引用一个已经改变的变量,必须使用变量delay函数,也就是初始的setlocal语句),其背后的思想与第二个方法中的思想相同。其实方法1的代码不需要判断当前处理的文件是否和上次处理的文件位于同一个目录,因为当for /r的时候,会得到文件的完整路径,所以只需要直接操作完整路径就可以了,跟风的方法可以借鉴。当%%~dpa时,可以通过在末尾直接添加一个点来进一步提高效率。

  方法一代码:

01 @ echo off set local enabledelaydexpansion

02for /r %%a in (\aaa.jpg) do(如果未定义%%~dpa set 'var=%%~dpa'set

03“% % ~ DPA=a”

04for %%i in('!var:~,-1!')do ren“% % ~ fa“% % ~ ni . jpg’)

05原因

复制代码

@ echo off set local enabledelaydexpansion

对于(\aaa.jpg)中的/r %%a,请执行(如果未定义%%~dpa集合“var=%%~dpa”集合

%%~dpa=a '

对于%%i in('!var:~,-1!')do ren“% % ~ fa“% % ~ ni . jpg’)

中止

版权声明:DOS下如何批量修改文件名?关于批量修改文件名的意见是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。