Batch入门教程

在本教程中,您将了解并学习与Windows Batch有关的知识和编程方法,用以解决在日常生活中所遇到的简单问题,或者利用Windows Batch建立一个最初级的编程思维方式。

具体来讲,您可能不仅在这里学到如何编写和运行Windows Batch程序,还有可能学习到脚本语言的入门方式,从而能够更加顺利地投入到以后的开发和探究中。

教程简介

本教程将会根据内容的难易程度,逐条推进,且大部分内容都是面向新手的。因此,也许您可能会发现某些语言叙述过于冗杂不必要,但是请谅解,因为这也许是因为笔者讲话过于啰嗦或者是为了照顾新手。如果您仍然觉得晦涩难懂,欢迎给笔者留言,笔者会尽最大可能提供帮助。

初识

你好,批处理。

批处理是什么?

批处理(Batch)通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,最简单的例子就是逐行书写在命令行中会用到的各种命令,也可以在批处理文件后面加上更多种类的参数。

这是摘自Wikipedia的一段对批处理的描述。接下来,笔者介绍一下批处理。

Batch,全称Windows BatchFile,中文名称为“批处理”,繁体中文译为“批次檔”。它是Microsoft Windows自带的一种脚本语言,且相对比较简陋,它的解释器是Command Prompt(即命令提示符)。

批处理的历史可以追溯到DOS时期,直到目前为止还有许许多多的CMD指令都是沿用的DOS指令,没有改变。较为经典的有copy、move、dir、del等基本文件操作。

我们了解这么多并没有太多用处,仅仅是为了能够知道自己到底在写些什么。

批处理的运行

上文中提到,批处理的解释器是命令提示符(cmd.exe),那么批处理的运行就很好阐述了。我们将代码书写在可读的纯文本文件中(但是扩展名为.bat或者.cmd),执行后直接提交给cmd.exe进行处理,最终执行结果。

批处理的指令是逐行执行的,这意味着您执行指令的先后顺序将会影响执行结果。

客户端输入,指的是用户在打开您的程序时,总会有一部分由客户端提交的工作(在此我们把批处理比作是用作处理的后端),例如,您的程序可能使用set /p允许用户输入一些自定义的数据,这是一种输入。此外,打开程序本身也是一种输入,我们在这里将它称为执行输入。因此,只要我们运行了这个程序,那么我们必定给予了一个输入。

这两种输入在本质上没有任何区别,都是由客户端用户授权后执行的操作。

程序代码,指批处理本身的代码。

cmd.exe指的是位于%systemdrive%\Windows\System32\ 的cmd.exe,它就是命令提示符的本体。

那么,客户端输入一经提交,就会按照程序代码原有的约定去处理这些输入。例如,执行输入的处理方式是一定的,即从代码第一行执行,这就是它的处理方式。而对于其它的,例如这时您正在运行一个计算器的程序,那么您输入的数字则会按照代码的约定去进行计算,最后反馈结果。而按照代码的约定则是程序代码发挥的作用,计算则是由cmd.exe完成的。

这些您并不需要深入理解,仅仅了解一下即可。

批处理的开发环境

众所周知,一般的脚本语言都不需要任何的特殊开发环境。有些,例如 Python,它可能需要您安装解释器,但是并不需要您安装IDE之类的环境来让开发过程更加简便,甚至无法缺少IDE。

批处理使用系统自带的notepad.exe就可以开发,但是实际上却很吃亏,因为它没有高亮,也没有华丽的页面,仅仅是一个编辑纯文本的工具而已。

随后就出现了Notepad++,它的页面很不赖,所以建议一般的新手就使用它来进行开发。

当然,如果您对较为高阶的编辑器感兴趣(这些编辑器往往会有更多的开发者参与开发,且有专门的社区等),您不妨尝试一下Microsoft开发的Visual Studio Code。它比Visual Studio更加轻量(比Notepad++更重量),且可以通过自己的努力或者其它的方式在上面开发任何语言,包括Batch。

上图中用到的主题是One Dark Pro。

Notepad++官方下载地址:Notepad++ Download。

Visual Studio Code 官方下载地址:Visual Studio Code。

下载Notepad++,直接访问网址后点击那个大大的Download即可(但是这个无论任何机型都会下载32-bit版本,如果需要64-bit 版本可以在下方寻找。)。

Notepad++安装事项

在安装Notepad++的时候,出现这个页面,在此笔者说明一下:

第一项Don't create shortcut on Desktop,勾选后桌面不会自动创建快捷方式(如果你喜欢干净的桌面就勾选吧,当然只是对这个程序有效)。

第二项的意思是,勾选后就不使用%APPDATA%路径了。这个路径位于您的系统盘\Users\您的用户名\AppData,是一个隐藏文件夹,专门用来存储用户的数据。文字的意思是如果您在一个U盘里用这个软件,且没有勾选这一项,那么Notepad++会把信息全部存储到您电脑上,那么当你把U盘拔了以后放到其它的电脑上,它们的电脑上并没有您的用户数据(因为您的数据在您的电脑上),那么Notepad++就不能正常运行,勾选后就可以随时随地运行了。

Visual Studio Code 安装事项

在安装 Visual Studio Code时,会有这个页面:

我推荐您勾选下面的四项,这四项勾选以后,您在以后编辑软件的时候会更加快速。如果勾选,当您右键选择一个可编辑文件的时候,会出现Open with Code选项,使用这个选项,可以快速使用Visual Studio Code打开选中文件。

在Visual Studio Code安装完成后,点击左下角的齿轮图标,再点选“设置”(英文版为Settings)

即可进行设置。如果您喜欢开发者风格的设置方式,可以在打开的设置页面右上角选择 "{ }" 图标:

这样就会打开配置的json文件,您可以在这里按照您的个人喜好进行更改。当然这需要一定的基础。如果您想要快速获得一个适合的开发环境,笔者在这里有正在使用的配置文件,可供参考:

补一下最后一段代码:

"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",

如果不熟悉可以不使用这种方法。综上,开发环境的配置就结束了。当然,您也可以选择不配置,但是这样就无法有舒畅美观的写作体验。一般上面的过程,您可能需要3—30分钟来完成(按照正常的计算机水平,可以在7分钟之内完成)。

以上是今天的内容分享,小伙伴都看懂了吗?在下期文章中,我们将使用Visual Studio Code进行演示,大家敬请期待。

Batch入门教程丨第一章:部署与Hello World!(上)的更多相关文章

  1. Batch入门教程丨第一章:部署与Hello World!(下)

    在上期分享的内容中,我们已经掌握了基础理论知识,今天我们将继续了解和学习与Windows Batch有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,从而能够更 ...

  2. Batch入门教程丨第二章:认识变量相关概念

    在前两期的学习内容中,我们已经了解了Batch入门教程有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,今天我们将继续深入学习Batch入门教程之认识变量相关概 ...

  3. 脚本语言丨Batch入门教程第四章:调用与传参

    今天是Batch入门教程的最后一章内容:调用与传参.相信通过前面的学习,大家已经掌握了Windows Batch有关的基础知识和编程方法,以及利用Windows Batch建立初级的编程思维方式.今后 ...

  4. 脚本语言丨Batch入门教程第三章:逻辑判断

    通过学习Batch入门教程的前两章内容,我们已经大致掌握了基本概念和认识变量的相关内容,今天我们要跟大家继续分享第三章内容:Batch入门教程之逻辑判断.  前期回顾  ◀Batch入门教程丨部署与H ...

  5. ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区 1 引言 1.1 读者定位 我们假设用户在阅读本指南前应已具备以下知识: · 熟悉W ...

  6. ActiveMQ 快速入门教程系列 第一章 点对点消息实现

    ActiveMQ 开发包下载及运行环境搭建 主页:http://activemq.apache.org/目前最新版本:5.11.1开发包及源码下载地址:http://activemq.apache.o ...

  7. Node入门教程(2)第一章:NodeJS 概述

    Node 概述 什么是 Node Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  8. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  9. 2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流

    知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一 ...

随机推荐

  1. js之词法作用域与动态作用域

    事实上JavaScript并不具有动态作用域,它只有词法作用域,简单明了,但是this机制某种程度上很像动态作用域 词法作用域:是一套引擎如何寻找变量以及会在何处找到变量的规则,它是定义在词法阶段的作 ...

  2. SVG初尝试之path

    命令汇总 命令基本规律 移动和直线命令 弧线命令

  3. LoadRunner HTTP+Json 接口性能测试

    接口的请求参数和返回结果均是JSON字符串,请求可以用POST或者GET方法.先说GET方法: 一.GET方法测试 Insert - New step -选择Custom Request - web_ ...

  4. http 响应状态码介绍

  5. 设计模式 — 工厂方法模式(Factory Method)

    在开发系统中,经常会碰到一个问题.现在需要实现的一些功能,但是这个功能模块以后一定是需要扩展的,那么现在开发中就不仅要实现现在的功能,还要考虑以后的扩展.那么为了系统的健壮,扩展就要遵循开闭原则(简单 ...

  6. CentOS7像外部163邮箱发送邮件

    我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...

  7. 创建自己的library类库包并使用webpack4.x打包发布到npm

    创建自己的library类库包并使用webpack4.x打包发布到npm 我们在开发过程中,可能经常要使用第三方类库,比如jquery.lodash等.我们通过npm,下载安装完之后,就可以使用了,简 ...

  8. aliyun install Discourse log

    apt update apt install wget wget -qO- https://get.docker.com/ | sh vim /etc/default/docker DOCKER_OP ...

  9. redis深入了解

    来自:https://www.cnblogs.com/lixinjie/p/a-key-point-of-redis-in-interview.html 是数据结构而非类型 很多文章都会说,redis ...

  10. MyIbatis和Hibernate的区别--2019-04-26

    1.MyBatis 真正实现了java代码和sql的分离 2.Hibernate 是全自动的,MyBatis是半自动的 Hibernate实现了部分自动生成SQL 3.SQL优化上 MyBatis 强 ...