cmd ren命令 重命名文件(夹)
ren 的用法很简单,其使用格式为:ren 旧文件 新文件名。例如,把test.txt改写为abc.txt,使用 ren test.txt abc.txt即可。
需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录。例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt、ren d:\test\abc.txt xyz.txt,但是,绝对不能写成ren d:\test\abc.txt d:\test\abc.txt这样的格式。之所以会有这个古怪的规定,可能是一旦把路径写成另外的目录,ren就具备了“移动文件+重命名文件”的功能了,这和它的定位不相符。
虽然ren的用法很简单,但是,它的功能却很强大,这主要得益于ren支持*和?这两个通配符:*表示任意多个字符,?表示一个字符。例如,要把所有的以.txt作为后缀名的文件改为以.doc作为后缀名,使用ren *.txt *.doc 即可,简简单单的一条语句,瞬间就改动了大量的文件,CMD命令简洁而又不失强大的特点在这里体现得淋漓尽致。又例如,要把以abc字符串打头、并且只有5个字符的txt文件改名为以xyz字符串打头,那么,可以这样写:ren abc??.txt xyz??.txt。
需要引起高度重视的是,ren在使用通配符的时候,它的匹配规则十分奇特且过于复杂,不适合新手理解,在此不再展开做详细的解释。若想了解其中的详情,请参考这篇帖子:这是不是ren的一个bug?http://www.cn-dos.net/forum/viewthread.php?tid=29538。若确实需要使用通配符,建议熟读这篇帖子;若实在难以理解,则退而求其次,只用通配符做后缀名的修改工作,可以不用深究这些复杂的规则。
ren还有一个十分奇特的属性:当文件具备隐藏属性或系统属性的时候,ren将不起作用,需要把文件的隐藏或系统属性去掉方可更名,对只读属性的文件,ren可顺利更名。这在很多时候给我们制造了很多麻烦:当你不知道要即将更名的文件是否具备隐藏或系统属性的时候,直接ren是很成问题的,;如果希望在重命名文件的时候,还必须保持原有的文件属性,则更加让人痛苦万分。
怎么办?
如果不介意文件的属性是否被改动,那么,保险的做法是,用 attrib -s -h 命令先去掉文件可能存在的系统属性或隐藏属性,然后再ren之;如果还要求更名后的文件要保持原有的属性的话,高效的做法是:先用for语句中的 %%~ai 扩展获取原文件的属性,经过处理之后保存到变量中去,然后用 attrib -s -h 去掉文件可能存在的系统属性或隐藏属性,ren之后,再读取保留在变量中的属性值,用 attrib 恢复原有的文件属性。
对于文件夹,ren同样适用。
相关推荐
-
用批处理重命名文本文件名的代码
实现代码1@echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('dir/b *.txt') do ( set /a n+=1 if not exist "!n!.txt" (ren "%%a" "!n!.txt") else call :loop "%%a" ) pause&exit :loop
-
用批处理实现将文件以数字重命名的代码
要求: 1.不能改变a.txt内容的顺序 2.将当前目录下的所有jpg文件以序号的形式重命名 如:从1-16 3.如果有16个文件,必须重命名为1-16,不允许出现16之后的序号 a.txt 内容: 复制代码 代码如下: 2.jpg 1.jpg a.jpg 5ww.jpg c.jpg f.jpg rty.jpg 3.jpg 11.jpg b.jpg 6.jpg e.jpg 8.jpg 111.jpg 7.jpg 30.jpg a.txt中的内容其实就是当前文件夹下的jpg文件列
-
批处理应用:根据文件内容进行重命名操作
我想实现以下的目的: 首先,我有个.dat文件,名字是固定的,需要更改这个文件名. .dat第1行的内容是: 10107xxxxxx,代表的意思是2007.01.01,后面的x内容不固定.如果是1~9月,则第1个字符是空的. 现在要根据这行内容来改文件名.比如10107XXXXXX,改为c01-0101.cvs. 110107xxxxxx,改为c01-1101.cvs 请问该怎么写这个BAT文件. 分析: 读出第一行内容到一变量 区变量的第5个字符,可以判断是否为0 1)如果是0,取变量前2位
-
批处理重命名特殊文件名的代码
一b!a!1235@_ s%#8i 三 c.rar h^e12 0~%l%!p!@. s321-的文件.txt %o%%% !O!ffi9~ ce$- Wor8d29 文档.docx 重命名.bat 图1: 要求运行批处理将这三个文件文件名中的数字.汉字.特殊字符全部(含空格)去掉,而重命名为只含字母的文件,但 后缀名不能更改,同时批处理自身名字不能更改,重命名后: basic.rar helps.txt oOfficeWor.docx 重命名.bat 图2: 要求:代码简洁.通用.效率不至于太
-
文件夹取其名称前两位重命名的批处理代码
将所有文件夹取其名称前两位重命名的批处理脚本: 复制代码 代码如下: @echo off& setlocal enableDelayedExpansion set n = 41029 for /f "delims=" %%a in ('dir /ad /b') do (set a=%%a ren "%%a" 41029!a:~0,2! ) pause 对以上代码的解释: 其中 /ad 是只显示目录,就是剔除文件,只显示文件夹. /b是使用空格式(没有标题信息
-
批处理应用根据文件内容进行重命名操作
我想实现以下的目的: 首先,我有个.dat文件,名字是固定的,需要更改这个文件名. .dat第1行的内容是: 10107xxxxxx,代表的意思是2007.01.01,后面的x内容不固定.如果是1~9月,则第1个字符是空的. 现在要根据这行内容来改文件名.比如10107XXXXXX,改为c01-0101.cvs. 110107xxxxxx,改为c01-1101.cvs 请问该怎么写这个BAT文件. 分析: 读出第一行内容到一变量 区变量的第5个字符,可以判断是否为0 1)如果是0,取变量前2位为
-
dos 重命名文件(夹)ren
ren 的用法很简单,其使用格式为:ren 旧文件 新文件名.例如,把test.txt改写为abc.txt,使用 ren test.txt abc.txt即可. 需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录.例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt.ren d:\test\abc.
-
全盘搜索指定文件并拷贝到指定位置[自动重命名]的批处理
复制代码 代码如下: @echo off&setlocal enabledelayedexpansion set num=0 set /p filename=请输入要查找的文件名[包含文件扩展名]: set /p newpath=请输入所要拷贝到的指定目录: if not exist !newpath! md !newpath! 1>nul 2>nul set zh=!newpath:~-1! if !zh! NEQ "\" set newpath=!newpath
-
cmd ren命令 重命名文件(夹)
ren 的用法很简单,其使用格式为:ren 旧文件 新文件名.例如,把test.txt改写为abc.txt,使用 ren test.txt abc.txt即可. 需要注意的是,旧文件可以使用绝对路径,也可以使用相对路径,但是,新文件名不能使用任何路径,只能是新的文件名,即使这个路径就是当前目录.例如:需要修改d:\test\abc.txt这个文件的名字为xyz.txt的话,如果当前路径位于d:\test,那么,命令可以写成:ren abc.txt xyz.txt.ren d:\test\abc.
-
python根据list重命名文件夹里的所有文件实例
如下所示: # coding = utf-8 import os path = "D:\\chunyu"#想要重命名所有文件存放的文件夹 filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹) list = [] fileopen = open('D:\chunyu.txt','r')#之后想要重命名成的所有名字的集合,这个名字为除去文件扩展名的文件名 i =0 for file in filelist: print(file) for line
-
Python批处理删除和重命名文件夹的实例
1. 删除当前目录下不含有指定文件类型的文件夹 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import os import shutil pwd = os.getcwd() L = os.listdir(".") f = open("out.txt", "w") for dirname in L: if os.path.isdir(dirname): print("dir
-
PHP实现读取文件夹及批量重命名文件操作示例
本文实例讲述了PHP实现读取文件夹及批量重命名文件操作.分享给大家供大家参考,具体如下: 以读取从网上下载的评书解压后的文件夹为例,并批量重命名 文件夹内容如下,现在使用php读取这个文件夹里面的文件,并批量重命名为"隋唐演义+序号.mp3"的格式: <?php $dir1 = './dir1/';//读取文件夹名称 (重命名为dir1避免中文报错,移动到与要执行的php文件同级目录) $filearr = scandir($dir1);//读取文件夹 print_r($file
-
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
系统 ubuntu20.04 工具 python 要求 文件夹中有22个子文件夹,每个子文件又包含56个文件,要求将每个子文件夹中的第一个文件放到一个新文件夹中,第二个放一个新的中,一直到最后. 解决方案 1.复制源文件 import os import shutil #源文件路径 source_path='......' #复制的新文件的路径 copy_source_path='.....' #直接复制过去的话,经常会提示文件存在,所以加个判断语句 #判断路径是否存在源文件,如果有则删除 if
-
ASP FSO文件操作函数代码(复制文件、重命名文件、删除文件、替换字符串)
FSO文件(File)对象属性 DateCreated 返回该文件夹的创建日期和时间 DateLastAccessed 返回最后一次访问该文件的日期和时间 DateLastModified 返回最后一次修改该文件的日期和时间 Drive 返回该文件所在的驱动器的Drive对象 Name 设定或返回文件的名字 ParentFolder 返回该文件的父文件夹的Folder对象 Path 返回文件的绝对路径,可使用长文件名 ShortName 返回DOS风格的8.3形式的文件名 ShortPath 返
-
shell备份文件、重命名文件、删除指定文件的3个脚本分享
因为经常会用到shell脚本,所以经常会写一些,但是我从来没有系统的学习过shell脚本,遇到问题,就去看手册,或者google一下,到了一定的程度才发现自己的基础真的好差.下面在系统学习shell时,顺便写了点有用的小脚本. 1,备份目录下面文件 复制代码 代码如下: #!/bin/bash E_BADARGS=65 case $# in //$#表示转入参数的个数,sh bak.sh ./ .sh 有二个参数./和.sh 0) // 参数为空时,提示
-
利用node实现一个批量重命名文件的函数
前言 最近在吃午饭的时候突然想起来在新大上JS课程时,老师讲node的时候提了一句说node可以批量重命名文件,我就想着看看能不能实现这个功能. 看了node的官方文档,查到fs模块有一个readdir的API,它读取一个目录的内容,测试了一下,返回的结果是一个数组,元素就是文件夹的名字.详细的介绍可以参考这里:http://www.jb51.net/article/58609.htm 还有一个API,rename听名字就是重命名相关的.详细的可以参考这里:http://www.jb51.net
-
PHP自动重命名文件实现方法
本文实例讲述了PHP自动重命名文件实现方法.分享给大家供大家参考.具体方法分析如下: PHP重命名文件名我们在实际开发过程中经常会使用到,比如用户上传文件或是一些缓存文件自动生成的功能我们都需要使用到自动重命名功能.但一般我们在制作上传文件时命名方式都是使用取系统当前时间加上随时数的方式在进行,这种方法固然可行但有时候并不能满足客户要需求.有些客户就要求我们的文件名命名方式要像windows系统一样自动流水编号,比如上传一个名字为"新建文本文档"当再有其它人上传一个文件名为"
随机推荐
- Javascript 计算字符串在localStorage中所占字节数
- springMVC几种页面跳转方式小结
- 浅谈java基本数据类型的范围(分享)
- java实现浮点数转人民币的小例子
- php+javascript实现的动态显示服务器运行程序进度条功能示例
- input框中的name和id的区别
- Pycharm学习教程(4) Python解释器的相关配置
- GO语言映射(Map)用法分析
- 通过两种方式增加从库——不停止mysql服务
- 一个背景云变换js特效 鼠标移动背景云变化
- Python编程中对文件和存储器的读写示例
- jquery实现submit提交表单
- 跟着JQuery API学Jquery 之三 筛选
- JS实现带提示的星级评分效果完整实例
- javascript实现鼠标选取拖动或Ctrl选取拖动
- Javascript快速实现浏览器系统通知
- apachetop 实现实时监测web服务器运行情况
- Windows Server 2008 R2远程设置选项灰色解决方法
- Linux操作系统与命令知识汇总
- 浅谈java中异步多线程超时导致的服务异常