Windows下批处理修改文件名以及删除文件中重复名

您所在的位置:网站首页 批量删除不同文件夹名称中的同一个字 Windows下批处理修改文件名以及删除文件中重复名

Windows下批处理修改文件名以及删除文件中重复名

2024-07-02 21:34| 来源: 网络整理| 查看: 265

批处理

批处理文件是扩展名为·bat 或·cmd的文本文件,包含一条或多条命令,由DOS或Windows系统内嵌的命令解释器来解释运行。 在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

删除重复

删除当前文件夹下文件名中的“xxx”内容

@echo off& setlocal enabledelayedexpansion for /f "delims=" %%1 in ('dir /a /b') do (set wind=%%1 ren "%%~1" "!wind:这里填要删除的内容=!") 批量修改文件名

将遍历当前文件中文件名,修改为5.txt 6.txt…… 但要注意遍历顺序未必按原来的顺序

@echo off setlocal enabledelayedexpansion set n=5 for /f %%i in ('dir /b *') do ( ren "%%i" !n!.txt set /a n+=1) echo 批量重命名完成! pause

在要改动文件的相同路径下,新建txt,粘贴入上面之一的内容,将文件后缀改为.bat,双击执行

常见批处理文法

echo、@、call、pause、rem 是批处理文件最常用的几个命令 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。 call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条命令后将无法执行当前文件后续命令) pause 运行此句会暂停,显示Press any key to continue… 等待用户按任意键后继续 rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的

另外一些相关语法: set 显示、设置或删除变量。 显示变量:set 或 set s 前者显示批处理当前已定义的所有变量及其值,后者显示所有以s开头的变量及值。 设置变量:set aa=1此句命令便可向变量aa赋值1,批处理中不区分数据类型 删除变量:set aa= 此句命令即可删除变量aa。

setlocal 是指批处理本地化的一种操作,使启动批处理文件中环境变量的本地化。本地化将持续到出现匹配的 endlocal 命令或者到达批处理文件结尾为止。

语法 setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}[1] 参数 enableextensions 启用命令扩展,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。 disableextensions 禁用命令扩展,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。 注1:在XP中并没有看到命令扩展的使用. enabledelayedexpansion 启用变量延迟,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。 disabledelayedexpansion 禁用变量延迟,直到出现匹配的 endlocal 命令,无论 setlocal 命令之前的设置如何。 使用setlocal让变量本地化

dir 显示目录中的文件和子目录列表 dir 显示当前目录中的文件和子目录 dir /a 显示当前目录中的文件和子目录,包括隐藏文件和系统文件 dir /s /b /d /s查找当前目录以及所有子目录下的文件 /b舍弃标题与摘要内容 dir .exe /s 显示当前目录和子目录里所有的.exe文件其中 是通配符,代表所有的文件名,通配符 ? 代表任意一个字符

ren文件重命名 ren 1.txt 2.bak 把 1.txt 更名为 2.bak ren .txt .ini 把当前目录里所有.txt文件改成.ini文件

符号

单引号,是执行引号里的命令 双引号,是引用的内容,如字符串 波浪线,是扩充字符串 & 连接符 连接两个命令 , 注意 不论前面的命令是否成功执行 后面的命令都将执行 && 连接符 连接两个命令 , 注意 仅当前面的命令成功执行时 后面的命令才会被执行 || 连接符 连接两个命令 , 注意 仅当前面的命令执行失败时 后面的命令才会被执行 | 传递符 将前面命令的结果 传递给后面的命令使用 ,类似Linux pipe ^ 转义符 [脱字符] ,脱去特殊符号的作用 使之成为一个纯粹的符号 比如,输出字符串 &&&&& :echo ^&^&^&^&^& % 百分号 在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。; 另外还可以是命令行传递给批处理的参数:

@echo off echo %0 echo %1 echo %2 echo %*

在命令行输入test.bat “/a” /b /c /d,会输出: test.bat — 第0个参数 “/a” /b “/a” /b /c /d

~ ① 在for中表示使用增强的变量扩展。 ② 在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。 ③ 在set/a中表示一元运算符,将操作数按位取反。 ! 在set /a中一元运算符,表示逻辑非

for 循环

FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令   作用:对一个或一组文件,字符串或命令结果中的每一个对象执行特定命令,达到我们想要的结果。   注意:在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable,而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.   关于:for命令可以带参数或不带参数,带参数时支持以下参数:/d /l /r /f   /d (参数只能显示当前目录下的目录名字),这个参数主要用于目录搜索,不会搜索文件,/D 参数只能显示当前目录下的目录名字    /R (搜索指定路径及所有子目录中与set相符合的所有文件),意是指定路径及所有子目录    /L (该集表示以增量形式从开始到结束的一个数字序列。可以使用负的 Step):for /l %%i in (1,1,5) do @echo %%i –输出1 2 3 4 5    /F (使用文件解析来处理命令输出、字符串及文件内容。)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3