查看: 111|回复: 0

[转载图文] Batch入门教程丨第一章:部署与Hello World!(上)

[复制链接]
发表于 2020-6-11 16:19:20 | 显示全部楼层 |阅读模式
  Batch入门教程
  

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

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

  在本教程中,您将了解并学习与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进行处理,最终执行结果。
  批处理的指令是逐行执行的,这意味着您执行指令的先后顺序将会影响执行结果。

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

Batch入门教程丨第一章:部署与Hello World!(上)
  客户端输入,指的是用户在打开您的程序时,总会有一部分由客户端提交的工作(在此我们把批处理比作是用作处理的后端),例如,您的程序可能使用set /p允许用户输入一些自定义的数据,这是一种输入。此外,打开程序本身也是一种输入,我们在这里将它称为执行输入。因此,只要我们运行了这个程序,那么我们必定给予了一个输入。
  这两种输入在本质上没有任何区别,都是由客户端用户授权后执行的操作。
  程序代码,指批处理本身的代码。
  cmd.exe指的是位于%systemdrive%\Windows\System32\ 的cmd.exe,它就是命令提示符的本体。
  那么,客户端输入一经提交,就会按照程序代码原有的约定去处理这些输入。例如,执行输入的处理方式是一定的,即从代码第一行执行,这就是它的处理方式。而对于其它的,例如这时您正在运行一个计算器的程序,那么您输入的数字则会按照代码的约定去进行计算,最后反馈结果。而按照代码的约定则是程序代码发挥的作用,计算则是由cmd.exe完成的。
  这些您并不需要深入理解,仅仅了解一下即可。
  批处理的开发环境
  众所周知,一般的脚本语言都不需要任何的特殊开发环境。有些,例如 Python,它可能需要您安装解释器,但是并不需要您安装IDE之类的环境来让开发过程更加简便,甚至无法缺少IDE。
  批处理使用系统自带的notepad.exe就可以开发,但是实际上却很吃亏,因为它没有高亮,也没有华丽的页面,仅仅是一个编辑纯文本的工具而已。
  

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

Batch入门教程丨第一章:部署与Hello World!(上)
随后就出现了Notepad++,它的页面很不赖,所以建议一般的新手就使用它来进行开发。

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

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

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

Batch入门教程丨第一章:部署与Hello World!(上)
  上图中用到的主题是One Dark Pro。
  Notepad++官方下载地址:Notepad++ Download。
  Visual Studio Code 官方下载地址:Visual Studio Code。
  下载Notepad++,直接访问网址后点击那个大大的Download即可(但是这个无论任何机型都会下载32-bit版本,如果需要64-bit 版本可以在下方寻找。)。
  Notepad++安装事项
  

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

Batch入门教程丨第一章:部署与Hello World!(上)
在安装Notepad++的时候,出现这个页面,在此笔者说明一下:

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

Batch入门教程丨第一章:部署与Hello World!(上)
  第一项Don’t create shortcut on Desktop,勾选后桌面不会自动创建快捷方式(如果你喜欢干净的桌面就勾选吧,当然只是对这个程序有效)。
  第二项的意思是,勾选后就不使用%APPDATA%路径了。这个路径位于您的系统盘\Users\您的用户名\AppData,是一个隐藏文件夹,专门用来存储用户的数据。文字的意思是如果您在一个U盘里用这个软件,且没有勾选这一项,那么Notepad++会把信息全部存储到您电脑上,那么当你把U盘拔了以后放到其它的电脑上,它们的电脑上并没有您的用户数据(因为您的数据在您的电脑上),那么Notepad++就不能正常运行,勾选后就可以随时随地运行了。
  Visual Studio Code 安装事项
  在安装 Visual Studio Code时,会有这个页面:

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

Batch入门教程丨第一章:部署与Hello World!(上)
我推荐您勾选下面的四项,这四项勾选以后,您在以后编辑软件的时候会更加快速。如果勾选,当您右键选择一个可编辑文件的时候,会出现Open with Code选项,使用这个选项,可以快速使用Visual Studio Code打开选中文件。

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

Batch入门教程丨第一章:部署与Hello World!(上)
在Visual Studio Code安装完成后,点击左下角的齿轮图标,再点选“设置”(英文版为Settings)

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

Batch入门教程丨第一章:部署与Hello World!(上)
即可进行设置。如果您喜欢开发者风格的设置方式,可以在打开的设置页面右上角选择 “{ }” 图标:

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

Batch入门教程丨第一章:部署与Hello World!(上)
这样就会打开配置的json文件,您可以在这里按照您的个人喜好进行更改。当然这需要一定的基础。如果您想要快速获得一个适合的开发环境,笔者在这里有正在使用的配置文件,可供参考:

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

Batch入门教程丨第一章:部署与Hello World!(上)
  补一下最后一段代码:
  “C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe”,
  如果不熟悉可以不使用这种方法。综上,开发环境的配置就结束了。当然,您也可以选择不配置,但是这样就无法有舒畅美观的写作体验。一般上面的过程,您可能需要3—30分钟来完成(按照正常的计算机水平,可以在7分钟之内完成)。
  以上是今天的内容分享,小伙伴都看懂了吗?在下期文章中,我们将使用Visual Studio Code进行演示,大家敬请期待。
专栏  1


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
微信公众号
快速回复 返回顶部 返回列表