欢迎光临散文网 会员登陆 & 注册

bat批处理--使用windows自动化处理工作

2023-02-10 11:34 作者:觞翊の泽  | 我要投稿

最近chartGPT很火,AI革命要来了,但今天我们讲的不是它,只是和它稍微有点关系,属于他的爷爷辈的技术。虽然没它那么强大,但也是能对提高效率起到很大作用的。

有时候需要在windows上做很多相同的步骤,比如执行完某个程序后需要打开某个文件夹地址,复制来复制去,这些固定的流程其实是可以被固化下来放桌面上一键执行的。

玩过linux的同学一般都会一些shell脚本,思路是相同的,无非windows下使用的是叫bat的脚本而已。

举个实际的例子,老三昨天需要调用一段程序生成生成文件,然后把文件复制到另一个程序下进行检查,最后还需要把经过检查的文件复制到最终的地址。这种复制来复制去的操作很烦人,而且中途打断后又需要重头再来,因为每次的步骤都是固定的,因此写一段bat脚本是个不错的处理方式。

//cd到某文件夹目录
cd /d D:\laosan
//复制文件到另一目录
xcopy /y /d  %~dp0\exp1 C:\Users\exp1
//执行某个脚本
java -jar exp.jar
//界面打开文件夹
start "" "D:\laosan"

如上脚本就可以做到复制、检查、完成后windows界面自动弹出处理之后的文件夹界面。但还有一些优化点,比如,我怎么知道命令都执行成功了?检查中是否有异常?这些就需要加入日志文件以供确认。脚本修改如下

echo %date%  %time% >>nohub.txt
//cd到某文件夹目录
cd /d D:\laosan
//复制文件到另一目录
xcopy /y /d  %~dp0\exp1 C:\Users\exp1
//执行某个脚本
java -jar exp.jar >>nohub.txt
//界面打开文件夹
start "" "D:\laosan"

添加了每次执行的时间,并将时间和脚本输出都放入nohub.txt的文件中,可以随时查看执行详情。

另:附录上常用语句

@echo off  --关闭命令回显
:: --注释
pause  --暂停执行,按键继续
xcopy  --复制文件夹   /y跳过覆盖确认 /d增量复制
         举例 xcopy /y /d  .\typora-user-images  %AppData%\Typora\typora-user-images\
[盘符]:   --跳转磁盘
cd [路径]  --跳转同一盘符路径  
        /d --跳转任意路径  

echo Hello World >file.txt  --输出内容到文件
echo Hello World >>file.txt --输出内容追加到文件
start "" "c:\windows"  --界面弹出文件夹  注意:如果路径有中文,需要保存bat脚本为ANSI编码

echo %date% %time%   --输出日期和时间
        
REM echo 当前盘符:%~d0
REM echo 当前路径:%cd%
REM echo 当前执行命令行:%0
REM echo 当前bat文件路径:%~dp0
REM echo 当前bat文件短路径:%~sdp0
setx PATH "%PATH%;D:\Program Files\"  --永久设置环境变量


bat批处理--使用windows自动化处理工作的评论 (共 条)

分享到微博请遵守国家法律