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. IE8引用jQuery报$或者jQuery未定义

    最近公司做的项目要求兼容到IE8,结果在页面调试的时候出了个bug,在IE8上面一直报错$未定义,或者jQuery未定义,导致页面上面写的jQuery全部失效,在Chrome浏览器没有任何问题.很是头 ...

  2. SpringBoot 动态切换多数据源

    1. 配置文件application-dev.properties 2. 动态切换数据源核心 A. 数据源注册器 B. 动态数据源适配器 C. 自定义注解 D. 动态数据源切面     E. 数据源路 ...

  3. topological sort~~~~初学

    今天讲了topological sort 问题: 判环:记录入队的点数,若<n则有环,可证: 算法:o(n):queue or  stack,而不是o(n^2)枚举 #. 关系运算图(vijos ...

  4. python 集合去重

    data = set() data.clear() data.add('qq1') data.add('qq2') data.add('qq3') data.add('qq4') data.add(' ...

  5. js中数组对象去重的方法

    var arr = [{ key: '01', value: '乐乐' }, { key: '02', value: '博博' }, { key: '03', value: '淘淘' },{ key: ...

  6. js中的严格模式和非严格模式的比较

    前言 es5的严格模式是采用具有限制性JavaScript变体的一种方式,从而使代码显示地脱离'懒散模式/非严格模式' 严格模式 严格模式通过抛出错误来消除一些原有静默错误 严格模式修复了一些导致Ja ...

  7. ubuntu tomcat 8.5.33 开启https

    用jdk自带的个工具生成数字证书: han@ubuntu:~$ sudo $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keyst ...

  8. 检查linux版本命令

    lsb_release -a cat /etc/issue cat /proc/version uname -a cat /etc/redhat-release

  9. Codeforces 959F Mahmoud and Ehab and yet another xor task 线性基 (看题解)

    Mahmoud and Ehab and yet another xor task 存在的元素的方案数都是一样的, 啊, 我好菜啊. 离线之后用线性基取check存不存在,然后计算答案. #inclu ...

  10. 《JAVA程序设计》结对编程联系_四则运算(第一周:阶段总结)

    结对对象与其博客链接 20175312陶光远:https://www.cnblogs.com/20175312-tgy/p/10630566.html 需求分析 (一)功能需求 1.自动生成题目(本周 ...