批处理文件与工作效率的提升
1.背景:放丢失和损坏
重要的文件容易丢失,所以采用复制备份的方法,以防文件丢失。
比如,当硬盘空间已经满了的时候,如果此时修改了文件,可能导致整个文件的内容丢失,保存成了空白文件。
当然,如果有版本管理工具,比如git也可以用。但是在有限的环境中,自己采用一些保护措施保护重要文件比较靠谱。
对于经常修改,更新的文档,采用文件名+日期的方式保存各个不同时间更新的不同版本的文件是比较有效的。
2.所用批处理命令详解
2.1.设置变量set
设置变量 set命令,比如
设置hour变量,并取值为系统时间的小时
set hour=%time:~0,2%
CMD中测试命令如下:
回显时间的命令是echo %time%, 它会获取系统时间并显示出来。观察上述命令,已经获取到小时的值:1
2.2. 进入硬盘目录命令cd
cd C:\bin
测试如下:
2.3.获取时间和日期的方法
echo %date% %time%
测试如下:
C:\bin>echo %date% %time%
2023/07/29 周六 1:29:11.52
2.4.复制文件命令copy
copy的命令坑比较多
- 注意路径要加上引号(如果要复制的路径带有空格、&等特殊符号的时候,请使用引号把这些特殊字符括起来)
- 比如使用命令 copy 测试文件.txt "C:\Users\Desktop\New folder"测试文件4.txt
- 即只将路径括起来,不括文件名也可以,即可以分开,比如上面的命令只括了路径。
格式:
copy 源文件(含地址) 目标文件(含地址)
比如下面的命令: copy
copy "C:\Users\Communicate\重要内容版本管理\"2022.03.16.143549_事项跟踪_待探究.txt "C:\Users\Communicate\重要内容版本管理\"2022.03.16.143549_事项跟踪_待探究%date:~0,4%.%date:~5,2%.%date:~8,2%.[%hour_loc%-%time:~3,2%-%time:~6,2%].txt
2.5.时间延时命令choice
cmd命令在执行的时候会一闪而过,下面的命令可以设置cmd命令窗口显示的时间。
巧妙的延迟命令:
choice /t 5 /d y /n >nul
上面的5便是可以设置的时间,5表示5秒。
2.6.命令的例子测试
C:\bin>echo 当前时间:%time%
当前时间: 1:37:16.88
C:\bin>set hour=%time:~0,2%
C:\bin>set "hour_loc=%hour: =%"
C:\bin>echo %date:~0,4%.%date:~5,2%.%date:~8,2%.[%hour_loc%-%time:~3,2%-%time:~6,2%]
2023.07.29.[1-37-39]
C:\bin>
2.7.最终批处理脚本
以下代码保存为bat文件
set hour=%time:~0,2%
set "hour=%hour: =%"
copy "C:\Users\5.文本记录\Communicate\重要内容版本管理\"事项跟踪_待探究.txt "C:\Users\5.文本记录\Communicate\重要内容版本管理\"事项跟踪_待探究%date:~0,4%.%date:~5,2%.%date:~8,2%.[%hour%-%time:~3,2%-%time:~6,2%].txt
echo success
choice /t 1 /d y /n >nul
效果:自动备份指定路径的文件,并以加上当前时间为后缀。
当然,要实现该脚本的自动运行,还需要一个触发机制,
且听下回分解!