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. oracle查询某张表的外键,并用 truncate 命令有外键的表中的数据

    注:本文来源于<oracle查询某张表的外键(最终解决办法)> 一:几个查询表外键的脚本 select b.table_name, b.column_name from user_cons ...

  2. 《剑指offer》左旋转字符串

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  3. 4.2 Oracle Dataguard failover 操作步骤

    在11g里面,Oracle认为最理想的情况是,虽然Oracle数据库不能打开,但是可以启动到 mount状态.Mount状态之所以重要,就在于如果可以到这个阶段,控制文件control_file就可以 ...

  4. 论文阅读笔记五十四:Gradient Harmonized Single-stage Detector(CVPR2019)

    论文原址:https://arxiv.org/pdf/1811.05181.pdf github:https://github.com/libuyu/GHM_Detection 摘要 尽管单阶段的检测 ...

  5. 2018年最新JAVA面试题总结之基础(1)

    转自于:https://zhuanlan.zhihu.com/p/39322967 1.JAVA中能创建volatile数组吗?volatile能使得一个非原子操作变成原子操作吗? 回答: 能,Jav ...

  6. Finally! I do understand "flex-basis"

    Long, long, long ago,CSS3就支持了flex布局,现在各家浏览器都支持标准的语法了,这里推荐一篇比较全面的图文化教程A Complete Guide to Flexbox. 关于 ...

  7. Helm - Kubernetes服务编排的利器

    Helm介绍 在Kubernetes中部署容器云应用(容器或微服务编排)是一项有挑战性的工作,Helm就是为了简化在Kubernetes中安装部署容器云应用的一个客户端工具.通过Helm能够帮助开发者 ...

  8. 948. Bag of Tokens

    https://leetcode.com/problems/bag-of-tokens/ 一开始觉得应该是个dp 题,把所有结果搜出来然后max 一下.实现以后发现组合太多了,非常慢,即使加上memo ...

  9. 多版本python安装TensorFlow出现的各种事故

    TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数 ...

  10. 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符

    1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...