热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用python脚本下载git代码_这些自动化场景,批处理脚本完全可以取代Python

一.写在前面提到自动化解决方案,相信大部分人会想到用Python语言,只需要根据功能场景,编写Python脚本即可相反,PC

一. 写在前面

提到自动化解决方案,相信大部分人会想到用 Python 语言,只需要根据功能场景,编写 Python 脚本即可

相反,PC 端的 Batch 批处理 似乎快被忘记了,很多人对它嗤之以鼻,认为这么古老的脚本语言貌似没什么用,Python 似乎可以取而代之

相比 Python 脚本,Batch 批处理脚本在某些场景下,使用更简洁、方便、高效,即写即用,不需要依赖 Python 环境,并且可以完全摆脱打包等繁琐步骤

二. 批处理基础

新建批处理脚本很简单,只需要新建一个文本文件,然后修改编码方式为:ANSI 编码,接着编写脚本逻辑代码,最后保存文件以 .bat 结尾即可

Batch 常用命令包含:echo、::/rem、title/color、cd/md/dir、rd/del/copy、pause、goto、for、if、set、start等

其中:

@echo off 代表在本行开始关闭回显,不显示正在执行的批处理命令及执行结果,一般放在批处理文件第一行

echo 日志参数:用于在控制台输出日志,偏于理解脚本执行逻辑

::/rem 注释内容:注释内命令

title/color:设置窗体标题和背景颜色

cd:切换目录

md:创建目录

dir:显示文件夹的内容

rd:删除一个目录

del 删除模式 文件:删除文件。通过配置删除模式,可以删除任意文件,包含隐藏、只读、系统文件

copy:拷贝文件

pause:暂停命令,一般放在批处理文件最后一行

goto:跳转命令,一般和「 : 任务名称 」搭配使用,执行一个循环任务,实例见第 3 节

for:循环命令,和 Python 中的 for 语法类似

if:判断命令

set:设置一个变量

start:调用外部程序的命令

三. 实用场景

下面聊聊几个批处理比较实用的场景:

1、对文件夹或桌面下的文件进行分类,然后放置到不同的文件夹内,方便归纳管理

@echo offfor %%i in (*) do (md %%~xi move *%%~xi %%~xi)pause

你没看错,只需要 4 行代码

其中,

for 用于遍历当前文件夹,遍历的结果用 do 分别去执行后面的命令

%%~xi 是截取 %%i 的扩展名,使用 md 命令新建一个文件夹

move 的作用是:将源文件移动到新的文件夹中

2、删除当前目录(包含子目录)下所有的 build 文件夹

使用 Android Studio 编译后,如果项目存在多个 Module,可能会存在多个 build 文件夹,可以使用下面的批处理脚本一键删除

@echo off:: 打开到当前目录下cd /d "%~dp0"echo 开始删除:: 循环删除for /r /D %%i in (*build*) do rd /s /q "%%i"echo 删除完成pause

脚本很简单,只需要打开项目根目录,利用「 for + do 」循环遍历,根据匹配规则删除文件即可

其中:

%~dp0:批处理文件当前目录

/s:从所有子目录下删除文件

/q:指定以「 安静模式 」执行删除操作,删除不需要确认

相比 Python 脚本,批处理脚本代码更简洁

3、执行 Python 脚本定时任务

比如,我编写完一个 Python 采集爬虫,我想 5 分钟执行一次,这里可以使用 goto 命令

@echo off title 循环运行Python代码:: 5分钟执行一次,单位为sset INTERVAL=300:: 提前执行一次,把执行时间打印出来echo 开始执行 - %time%python C:/test.py :: 使用timeout进行倒计时timeout %INTERVAL%:: 新建一个任务:Task echo 开始执行 - %time%python C:/test.py timeout %INTERVAL%:: 使用goto命令,开始跳转到上面的任务,开始执行goto Task

4、Git 提交代码

正常使用 git 命令行提交代码( 不使用 IDE ),需要使用 git add .、git commit -m 提交日志、git pull、git push 四条命令

使用批处理脚本,只需要双击一下,输入提交日志就完事了

具体代码如下:

@echo offtitle 提交代码echo 提交代码,简化操作:: 状态git status:: set:等待输入,赋值给变量msgset /p commit_msg=代码提交注释::: 提交代码的 4 条命令git add .git commit -m %commit_msg%git pullgit pushecho 提交成功pause

5、清除系统垃圾文件

指定删除模式、待删除的路径,调用 del 命令去删除即可

@echo off:: 配置title Alic Feng batTool for Cleancolor 03mode con cols=42 lines=20echo executes cleaning,Please waiting...::程序删除系统无用文件开始del /f /s /q %systemdrive%\*.tmp 1>nul 2>nuldel /f /s /q %systemdrive%\*._mp 1>nul 2>nuldel /f /s /q %systemdrive%\*.log 1>nul 2>nuldel /f /s /q %systemdrive%\*.gid 1>nul 2>nuldel /f /s /q %systemdrive%\*.chk 1>nul 2>nuldel /f /s /q %systemdrive%\*.old 1>nul 2>nuldel /f /s /q %systemdrive%\recycled\*.* 1>nul 2>nuldel /f /s /q %windir%\*.bak 1>nul 2>nuldel /f /s /q %windir%\prefetch\*.* 1>nul 2>nuldel /f /s /q %windir%\temp\*.* 1>nul 2>nuldel /f /q %userprofile%\COOKIEs\*.* 1>nul 2>nuldel /f /q %userprofile%\recent\*.* 1>nul 2>nuldel /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" 1>nul 2>nuldel /f /s /q "%userprofile%\Local Settings\Temp\*.*" 1>nul 2>nuldel /f /s /q "%userprofile%\recent\*.*" 1>nul 2>nul::删除系统垃圾文件结束echo 清除系统垃圾完成!!!echo. & pause

四. 最后

上面几个简单的小功能都是使用批处理脚本编写的,实际上,Python 与批处理各有各的优势。

Python 语法更加优雅易懂,大量的依赖库可以直接使用;批处理在 PC 端某些特点的场景,无论是编写还是使用,都有它特定的优势。

当然,可以使用转换工具将批处理脚本转为 EXE 可执行程序,供 Python 去调用,完成一些复杂的自动化任务。



推荐阅读
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
author-avatar
zhuzhu-2012_389
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有