在平时运维的时候,最繁琐的就是要每个月写运维记录的文档如excel表格,一个月30日要产生30个文件,拷30个运维记录文档的模版再进行重命名实在太麻烦了,所以想到copy模版之后可以用脚本来对文件进行重命名自己想要的效果,首先给出效果图

下面给出脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

@echo off

set /p m=请输入月份如:5(m):

set a=0

setlocal EnableDelayedExpansion

dir /b .\*.xls | find /c /v "" >> .\tmp.txt

set /p c=<.\tmp.txt

del /a /f /q .\tmp.txt

for %%i in (*.xls) do (

set /a a+=1

if !a! gtr %c% (goto aa)

echo !a!

echo %%i

ren "%%i" "日常运维检查记录2018-%m%-!a!.xls"

)

:aa

pause

脚本解释:

dir /b下面接上find命令来统计当前目录下的xls格式的文件数,这里假设我运维记录的文件使xls格式的,然后把统计的文件数写入txt文件中,例如有5个xls文件就会把5写入,然后从这个txt中读出这个数字赋值给c变量,再把这个txt文件删除

后面的for循环就是重命名文件了,这里注意有一点,为什么我在for循环中要加个条件语句呢?这个条件语句的意思是一旦a变量(这里a代表着文件重命名中的文件名天数的后缀名,由1开始计数,直到达到文件夹中重命名的xls文件数为止)大于c变量(统计的用于重命名xls文件数),就会终止这个循环并且跳出到aa,这里发现在重命名文件的时候会循环会溢出多一次,也就是假设原来有5个xls文件要重命名,在用这个循环重命名的时候如果不加这个if语句来防止溢出,就会重命名了6次,从而把第一个重命名的文件再次重命名,这里给出图给大家看一下就知道了

这里加入有5个3月份的运维检查记录文件

假如我在代码中把if语句屏蔽了

然后执行脚本,把这5个文件重命名成4月份的运维检查记录文件

发现循环执行了6次,并且看到最后一次重命名把第一个重命名的文件4-1给替换调了4-6

经过上面的解释,大家应该有个理解了把!

在代码中我这里规定了重命名的文件后缀的年份是2018年,这里大家可以模仿月份的输入set /p来加上一个年份的输入,引用变量就可以重命名自己想要的年份后缀名,下面说下这个重命名脚本的使用规则,注意将脚本文件先保存成ansi编码的格式再在里面编辑含有中文的代码,不然重命名或者执行脚本的时候会报错喔

重命名文件.bat
1新建月份文件夹如:4月
2关闭360等软件
3复制运维记录的文件到月份文件夹下
4把脚本放在月份文件夹下执行

就可以看到当前文件夹下会有我们重命名的文件名字了

其实与其重命名文件,大家也可以考虑用复制文件办法,这样就不用考虑重命名时候的溢出问题,下面给出文件复制的办法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

@echo off

set /p year=请输入年份如:2018(year):

set /p month=请输入月份如:4(month):

set /p day=请输入这个月的天数如:30(day):

if %day%==31 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

if %day%==30 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

if %day%==29 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

if %day%==28 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

if %day%==27 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

if %day%==26 (

for /l %%d in (1,1,%day%) do copy .\module.xls .\日常运维检查记录%year%-%month%-%%d.xls

goto aa)

echo "输入的天数不符合规则!"

:aa

pause

exit

代码比较简单,这里我规定了要把module.xls这个运维记录的模版文件放在当前新建的月份文件夹下,然后通过复制这个文件来生成对应天数的运维检查记录文件,这里我规定了天数26-31天,同样要注意的是脚本的编码要是ansi编码

下面给出操作方法和效果图

批量复制文件.bat
1新建月份文件夹如:4月
2将模版文件更名为module.xls放在月份文件夹下

3把脚本放在月份文件夹下面执行脚本输入参数

到此这篇关于教你如何利用bat脚本批量 重命名/复制 文件的文章就介绍到这了!

转载自:微点阅读   https://www.weidianyuedu.com

如何运用bat脚本批量 重命名/复制 文件相关推荐

  1. Python脚本批量重命名图片

    Python脚本批量重命名图片 # -*- coding: utf-8 -*- """ Created on Tue Mar 23 13:34:59 2021@autho ...

  2. python批量处理视频教程_《自拍教程72》Python批量重命名视频文件,AV专家必备!...

    案例故事: 任何一款终端产品只要涉及视频播放,就肯定涉及视频的解码播放测试, 作为一名专业的多媒体测试人员,我们需要一堆的规范的标准视频测试文件, 但是发现现有的视频资源名字命名的很随意比如:big_ ...

  3. 《自拍教程72》Python批量重命名视频文件,AV专家必备!

    案例故事: 任何一款终端产品只要涉及视频播放,就肯定涉及视频的解码播放测试, 作为一名专业的多媒体测试人员,我们需要一堆的规范的标准视频测试文件, 但是发现视频资源名字命名的很随意比如:big_buc ...

  4. 批量重命名图片或者批量重命名txt文件,批量重命名代码

    批量重命名图片 # 批量重命名图片名字 按照自己要求 import os path = r'C:\Users\yewenjing\Desktop\111' # 需要重命名的图片路径,提取保存份在跑 f ...

  5. BAT Window批量重命名

    @echo off rem 启用"延缓环境变量扩充" setlocal EnableDelayedExpansion set a=0 set b=0 rem 循环当前目录下所有图片 ...

  6. 《自拍教程69》Python 批量重命名音频文件,AV专家必备!

    本篇主要学习如何Python自定义模块并调用该模块,并重点介绍Python正则表达式的强大的文本处理能力. 案例故事: 任何一款终端产品只要涉及音频输出,就肯定涉及音频的解码, 作为一名专业的AV ( ...

  7. 《自拍教程71》Python mediainfo批量重命名图片文件,AV专家必备!

    案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的的图片测试文件, 但是发现图片资源名字命名的很随意比 ...

  8. python批量命名教程_《自拍教程69》Python 批量重命名音频文件,AV专家必备!

    本篇主要学习如何Python自定义模块并调用该模块,并重点介绍Python正则表达式的强大的文本处理能力. 案例故事:任何一款终端产品只要涉及音频输出,就肯定涉及音频的解码, 作为一名专业的AV (A ...

  9. python教学视频h_《自拍教程72》Python批量重命名视频文件,AV专家必备!

    案例故事: 任何一款终端产品只要涉及视频播放,就肯定涉及视频的解码播放测试, 作为一名专业的多媒体测试人员,我们需要一堆的规范的标准视频测试文件, 但是发现现有的视频资源名字命名的很随意比如:big_ ...

最新文章

  1. Java中ThreadPoolExecutor的参数理解
  2. codeforces 521div3(D Cutting Out)java
  3. 艾弗森、穆大叔遭“姚式幽默”调侃 全场爆笑
  4. linux命令 - free -m
  5. servlet获取相对路径 绝对路径
  6. Luke的各版本下载
  7. 【译文】R语言中的离群值检测和处理
  8. Unity AssetBundle加载的理解
  9. 约4万个外国人名,中英对照
  10. 转: 系统问题排查思路
  11. 开发板的lcd 显示
  12. python 网页生成pdf_3个步骤教你如何用Python实现网页转PDF
  13. 计算机怎么换桌面皮肤,如何更换电脑腾讯视频上的皮肤样式
  14. 设计模式之中介者模式---Mediator Pattern
  15. 不要慌,我有亿点小建议!万字长文
  16. 关于ChatGPT八个技术问题的猜想
  17. c语言运算符ppt,C语言运算符.ppt
  18. 写作小课堂:简历模版【A4纸正反两面】(20230316)
  19. 有符号类型和无符号类型
  20. Batch Norm 与 Layer Norm

热门文章

  1. Visual Studio Code使用中CPU占用率异常暴增过高原因
  2. 基本BP算法的实例----蚊子的分类
  3. 219、无线路由器上网的设置方法汇总
  4. 荔枝FM架构师刘耀华:异地多活IDC机房架构 - 极客头条 - CSDN.NET
  5. fastadmin 中success()无法跳转
  6. 远程连接不上阿里云(Ubuntu20.04)Mysql8.0
  7. 安装AudioRelay等音频截取类软件后扬声器没声音的解决方案
  8. [附源码]Java计算机毕业设计SSM殡仪馆管理系统
  9. linux装Windows版QQ,在Linux下完美运行Windows PC版QQ/TIM教程
  10. 2020年这些行业有可能会大爆发,抓住风口,奋力养家!