批处理:批量修改文件名称
程序员文章站
2022-04-17 14:05:06
...
相关代码
@echo off
setlocal enabledelayedexpansion
echo "输入需要修改的文件集合,支持通配符?匹配单个字符*匹配任意字符"
set /p targetSet=文件集:
echo "新的名称(^!n^!为索引,从1开始)"
set /p newName=新名称:
set n=0
for %%i in (%targetSet%) do ( set /a n+=1 & ren "%%i" %newName%)
学习笔记
for命令
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
set命令
显示、设置或删除 cmd.exe 环境变量。
SET [variable=[string]]
variable 指定环境变量名。
string 指定要指派给变量的一系列字符串。
set /a 与 set /p
SET /A expression
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。
SET /P variable=[promptString]
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。
!var!与%var%
%var%
引用变量将在批处理程序启动时,用var对应的值替换%var%字符串,随后开始执行命令行,
效果上看,类似C语言的#define,即尽在初始化时赋值一次
!var! 引用变量,将在每次调用命令行时,命令行执行前对字符串进行替换,
效果上看,更符合认知里的变量,随程序动态更新的
setlocal enabledelayedexpansion
启动对!var!的支持,默认是不支持的
上一篇: 使用python批量修改文件名
下一篇: html怎么设置图片大小