使用window bat批处理编程 批量重名目录下指定的文件_dos 命令行批量重名目录下指定的文件

需求原因:d盘某个目录里面有大量视频文件,名称不一杂乱,想要在保留原文件名称的同时

在文件名称前加上序号,如1_xxxx.mp4,2_xxx.mov,3_xxx.avi ,在不使用java和python的情况下,尽可能简单编写,于是乎就想到了使用window dos 命令行 bat 批处理编程!

talk is cheep,show me the code ! 

代码如下,当你学懂了以后,以前需要几个小时才能弄懂的,现在一分钟搞定~

@echo off
rem 复制这段代码到记事本中,保存,修改文件后缀为.bat格式
rem 更改命令行窗口的颜色
color 0e
set index=0
rem rem 表示注释 
rem 开启延迟扩展,不然index+=1不生效
setlocal EnableDelayedExpansion
rem 方法一:使用 for /f 需要放在你想要的文件夹下
rem 查找当前目录及其子目录中的视频文件,/a-d排除文件夹,
rem usebackq 防止文件名有空格 一定要配合in中的反引号,可以说是固定写法
rem for /f  "usebackq delims="  %%i in (`dir /a-d /b /s *.mp4 *.avi *.mov`) do (
rem 方法二【推荐】:使用 for /r 直接指定目录
for /r D:\dir1 %%i in (*.txt) do (
rem set /A 表示执行算数运算
set /A index+=1
echo "========打印带全路径的文件名和扩展名"========"
echo %%i
echo "========打印【不带路径】的文件名和扩展名"========"
echo %%~nxi
rem 【方法一】!index!表示引用延迟扩变量,*.*会自动映射原文件名
rem ren %%i !index!_*.*
rem 【方法二】
ren %%i !index!_%%~nxi
)
echo author by LinJianhui
echo 报告,重命名完成!
rem 等待10秒自动退出
timeout /t 10
exit 

使用window bat批处理编程 批量重名目录下指定的文件_dos 命令行批量重名目录下指定的文件_第1张图片

 

你可能感兴趣的:(windows,bat批处理编程,dos命令行,window,bat批处理编程)