CMD命令如何实现批量修改文件名?

发布网友 发布时间:2022-03-26 10:46

我来回答

4个回答

热心网友 时间:2022-03-26 12:15

一键去除所有文件名中相同字符的方法:

步骤1,安装下图软件后打开,点击【添加文件】按钮,将需要修改名称的文件全部添加到软件中,也可以通过将文件拖动到软件上的方式进行添加。

步骤2,接下来就是对软件进行设置的环节,如下图所示:命名方式选择“替换”;查找内容输入需要删除的文字或字符;替换内容什么都不用填写,留空。这时候我们在右边可以预览到新文件名已经删除了相同的文字。

步骤3,然后点击【开始重命名】红色按钮,启动软件程序。稍等片刻当软件提示“重命名成功”,说明软件完成批量删除文件名中相同文字的操作。

步骤4,最后检查这些文件,通过案例对比可以看出,新的文件名中完全删除了相同的文字

热心网友 时间:2022-03-26 13:33

实现步骤:
一、用dir命令输出文件名列表:dir [filepath] /a/b/s > outputfile.txt
例,需要更改D:\TEMP文件夹下所有子目录中的所有文件名,应当写以下命令dir D:\TEMP /a/b/s > D:\list.txt
其中,/a可以显示包含隐藏文件的所有文件,如果没有特殊文件的话可以略去。> D:\list.txt是输出的列表名字及其路径。
二、利用文字编辑器的文档替换功能:

例一,替换D:\TEMP文件夹及其子文件夹下的所有后缀名为.exe的文件为.bak文件。
替换D:为ren "D:\,替换.exe为.exe" *.bak
例二,删除D:\TEMP文件夹及其子文件夹下的所有后缀名为.tmp的文件的后缀名。
首先我们需要获得不包含路径的文件名:dir D:\TEMP /a/b > D:\list2.txt,并替换.tmp为空。
然后需要使用Excel,第一列为ren ",第二列为list.txt中的内容,第三列为" ,第四列为list2.txt中已经替换后的内容。
复制Excel中所有内容至一个新的记事本中,并且替换所有制表符为空。
如需个性化的改名可以在例二中修改第四列的文件名。
三、利用ren命令修改文件名
将修改好的内容复制,然后在CMD中点击右键,在弹出的菜单中选择“粘贴”。这样,就完成了替换。dir以及ren的详细使用方法可以在CMD中使用/?参数察看帮助。

热心网友 时间:2022-03-26 15:08

@echo off
setlocal enabledelayedexpansion
:: 0:当重命名后文件名称冲突则此文件不重命名
:: 1:当重命名后文件名称冲突则强制重命名此文件
:: 2或任何字符:当重命名后文件名称冲突则询问是否重命名
set choose=2
:: 批量重命名的文件夹
:: 当前目录则用 .
:: 拖入式(将文件夹拖到此文件上)则用 %0
:: 可在设置时设置文件夹的位置,用双引号括起来,最后均不用加上"\"
set file=.
::文件夹中操作对象的后缀名
set suffix=jpg
::删去的字符
set a=aaa
::删去的字符的位数
set b=3
for %%i in ("%file%\*.%suffix%") do (
set c=%%i
if !c:~1,%b%!==%a% (
if exist !c:%b%! (
if ("%choose%" neq 0) and ("%choose%" neq 1) (
choice /c YN /T 10 /D Y /M "确认请按Y,否认请按N。"
if !errorlevel!==1 (
ren "%%i" "!c:~%b%!" && echo 已修改.
) else (echo 已跳过.)
)
if ("%choose%" equ 1) (ren "%%i" "!c:~%b%!" && echo 已将%%i强制修改.)
) else (
ren "%%i" "!c:~%b%!"
)
)
)
set c=
set choose=
set file=
set suffix=
set a=
set b=
echo 重命名已结束.
pause & exit

在问题的基础上做了很大扩充

热心网友 时间:2022-03-26 16:59

@echo off
for /f "delims=" %%a in ('dir /b/s/a-d aaa*.jpg') do (
    set "str=%%~nxa"
    setlocal enabledelayedexpansion
    ren "%%a" "!str:~3!"
    endlocal
)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com