CMD批处理修改文件名

写一个CMD,目的是将n.txt和h.txt互换文件名
提供一个思路
在X:\Program Files\ssdd下
将n.txt改为m.txt
再将h.txt改为n.txt
再将m.txt改为h.txt
不胜感激

1、首先我们打开电脑桌面,点击开始菜单,在搜索框中输入“cmd”。

2、回车键之后,你会进入dos系统的操作界面。

3、让我们假设你需要批处理的文件在E盘的abc文件夹下。那么这一步,你需要在dos下进入这个文件夹。输入“E:“(冒号是必要的),输入”cd abc“(进入abc文件夹)。

4、下面就是修改文件名了。dos系统下修改文件名的命令是”ren *.* *.*“(注意空格)。因此,假设我们需要把所有的101.txt,102.txt,103.txt……改成201.txt,202.txt,203.txt……,那么你需要输入的语句就是:”ren 1*.* 2*.*“

5、输入回车键,你会发现所有文件已经按你的指示修改好。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-28
实现步骤:
一、用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中使用/?参数察看帮助。
第2个回答  2013-10-09
@Echo Off
For /f "tokens=*" %%a in ('dir /a-d /b /s "%~dp0*.*"^|findstr /r /i "_[0-9]*.txt$ _[0-9]*.zip$"') do (
For /f "tokens=1 delims=_" %%b in ("%%~na") do (
Echo Ren "%%a" "%%b%%~xa"))
Pause

以上内容请用记事本保存为批处理文件(xx.bat),把批处理文件放到 F:\downtxt\down\ 下运行.

如果文件名中只有一个 ‘_’ 符号,那么以上代码就可以修改文件名了.如果文件名中包含有多个‘_’ 符号,请补充说明一下另外修改代码即可.

注意:默认是先查看效果如果正确,请把 Echo Ren "%%a" "%%b%%~xa" 替换为 Ren "%%a" "%%b%%~xa" 这样才是真正重命名.

第3个回答  推荐于2017-11-24
新建一个bat批处理文件,内容如下:
@echo on
ren x:\progra~1\ssdd\n.txt m.txt
ren x:\progra~1\ssdd\h.txt n.txt
ren x:\progra~1\ssdd\m.txt h.txt

注:在cmd中注意目录和文件的8.3式,所以在你的例子中将Program Files目录名修正为progra~1了,因为cmd批处理中很多不能识别长文件名格式本回答被提问者采纳
第4个回答  2015-10-12
批量修改文件名cmd命令如下:
@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
)
相似回答