当前位置: 首页 > 科技观察

FreeDOS

时间:2023-03-13 02:45:33 科技观察

中的批处理文件是编写您自己的简单程序以自动执行通常需要大量输入的任务的绝佳方式。在Linux上,创建shell脚本来自动执行重复性任务是很常见的。同样,在旧版DOS操作系统的开源版本FreeDOS上,您可以创建一个包含多个FreeDOS命令的批处理文件。然后,您可以运行批处理文件以按顺序执行每个命令。您可以使用ASCII文本编辑器创建批处理文件,例如FeeDOS的编辑应用程序。创建批处理文件后,可以使用文件名加上扩展名.bat来保存它。文件名应该是唯一的。如果您使用FreeDOS命令的名称作为您自己的文件名,那么可能会执行FreeDOS命令,而不是您的批处理文件。事实上,所有内部和外部FreeDOS命令都可以在批处理文件中使用。创建批处理文件时,实际上是在编写程序。FreeDOS批处理文件可能没有结构化编程语言的强大功能,但它们对于简短、重复且乏味的任务来说非常方便。注释您的代码任何程序员都应该学习的第一个好习惯是在程序中放置注释以解释代码的作用。这是一件很容易做到的事情,但是你需要小心不要愚蠢地让操作系统强制执行你的注释。避免这种情况的方法是将REM(“remark”的缩写)放在注释行的开头。FreeDOS忽略以REM开头的行。但是任何查看源代码(即您在批处理文件中编写的文本)的人都可以阅读您的评论并理解它在做什么。这也是一种暂时禁用命令而不删除它的方法。只需打开批处理文件进行编辑,将REM放在要禁用的行的开头,然后保存。当您想重新启用此命令时,只需打开文件进行编辑并删除REM。这种技术有时称为“注释掉”命令。入门在开始编写自己的批处理文件之前,我建议在FreeDOS中创建一个临时目录。这将为您提供一个安全的空间来处理批处理文件,而不会意外删除、移动或重命名重要的系统文件或目录。在FreeDOS上,您可以使用MD命令创建目录:C:\>MDTEMPC:\>CDTEMPC:\TEMP>FreeDOSECHO命令控制运行批处理文件时屏幕上显示的内容。例如,这是一个简单的单行批处理文件:ECHOHelloworld如果您创建并运行该文件,您将看到屏幕上显示的句子。从命令行执行此操作的最快方法是使用COPY命令从键盘(CON)获取输入并将其放入文件TEST1.BAT中。接下来,按组合键Ctrl+Z停止复制过程,然后按键盘上的Return或Enter键返回提示。尝试在您的临时目录中创建此文件作为TEST1.BAT,然后运行它:C:\TEMP>COPYCONTEST1.BATCON=>TEST1.BATECHOHelloworld^ZC:\TEMP>TEST1Helloworld当您要显示时这可以是当包含一段文本时很有用。例如,您可能会在屏幕上看到一条消息,告诉您等待程序完成其任务,或者您可能会在网络环境中看到登录消息。如果要显示空行怎么办?您可能认为ECHO命令本身就可以解决问题,但是单个ECHO命令只会询问FreeDOS以响应ECHO是打开还是关闭:C:\TEMP>ECHOECHOison获取空白行的方法是在ECHOA+符号后立即使用:C:\TEMP>ECHO+C:\TEMP>Batchfilevariables变量是存储您需要批处理文件临时记住的信息的地方。这是编程的一个重要特征,因为您不可能总是知道您的批处理文件需要使用哪些数据。这里有一个简单的例子来演示。创建TEST3.BAT:@MDBACKUPSCOPY%1BACKUPS\%1变量使用百分号后跟数字表示,因此该批处理文件将在您的当前目录中创建一个BACKUPS子目录,然后将变量%1复制到BACKUPS文件夹。这个变量是什么?当您运行批处理文件时,变量由您决定:C:\TEMP>TEST3TEMP1.BATTEST1.BAT=>BACKUPS\TEST1.BAT您的批处理文件已将TEST1.BAT复制到名为BACKUPS的子目录中,因为当您运行批处理文件,您将此文件标识为参数。您的批处理文件将用TEST1.BAT替换%1。变量是位置的。变量%1是您提供给命令的第一个参数,变量%2是第二个参数,依此类推。假设您创建了一个批处理文件来列出目录的内容:DIR%1尝试运行它:C:\TEMP>TEST4.BATC:\HOMEARTICLESBINCHEATSHEETSGAMESDND这按预期工作。但是这个失败了:C:\TEMP>TEST4.BATC:\HOMEC:\DOCSARTICLESBINCHEATSHEETSGAMESDND如果你尝试它,你会得到第一个参数列表(C:\HOME)而不是第二个参数列表(C:\文档)。这是因为您的批处理文件只查找一个变量(%1),而且DIR命令只能获取一个目录。此外,当您运行一个批处理文件时,您不需要为其指定扩展名——除非您很不走运并为该批处理文件选择一个与FreeDOS外部命令或类似命令相同的名称。FreeDOS执行命令时,按以下顺序执行:内部命令扩展名为*.COM的外部命令扩展名为*.EXE的外部命令批处理文件多参数OK,选择重写TEST4.BAT文件,使命令可以采用两个参数,以便您了解其工作原理。首先,使用EDIT应用程序创建一个名为FILE1.TXT的简单文本文件。将某种类型的语句(例如,“Helloworld”)放在那里,并将文件保存在您的TEMP工作目录中。接下来,使用EDIT更改您的TEST4.BAT文件:COPY%1%2DIR保存它,然后执行命令:C:\TEMP\>TEST4FILE1.TXTFILE2.TXT当运行您的批处理文件时,您将查看一个目录您的TEMP目录列表。在列出的文件中,您有FILE1.TXT和FILE2.TXT,它们是由您的批处理文件创建的。嵌套批处理文件批处理文件的另一个特性是“嵌套”的能力,这意味着一个批处理文件可以在另一个批处理文件中调用和运行。要了解其工作原理,请从一对简单的批处理文件开始:第一个文件称为NBATCH1.BAT:@ECHOOFFECHOHelloCALLNBATCH2.BATECHOworld第一行(@ECHOOFF)轻轻地告诉批处理文件只显示输出运行命令时的命令(不是命令本身)。您可能已经注意到在前面的示例中有很多关于批处理文件正在做什么的反馈;在这种情况下,您允许批处理文件只显示结果。第二批称为NBATCH2.BAT:来自FreeDOS的回显使用EDIT创建这两个文件并将它们保存在您的TEMP子目录中。运行NBATCH1.BAT看看会发生什么:C:\TEMP\>NBATCH1.BATHellofromFreeDOSwor??ld您的第二个批处理文件将使用第一个批处理文件中的CALL命令执行,它将为您提供字符串“fromFreeDOS”“Helloworld”消息的中间。FreeDOS脚本批处理文件是编写您自己的简单程序以自动执行通常需要大量输入的任务的绝佳方式。您使用FreeDOS的次数越多,您就会越熟悉它的命令,一旦您知道这些命令,将它们列在批处理文件中只是让您在FreeDOS系统上的生活更轻松的一件事。尝试一下!