zoukankan      html  css  js  c++  java
  • 学习DOS下批处理容易出错的问题

    由于学习汇编的需要,折腾了一下DOS操作系统,然后就是选择MASM版本,总想着尽量选择高一点的版本来学习(可能是强迫症吧)。微软的MASM编译器在6.11版本后就不支持DOS16位系统了,6.15只能在32位DOS下运行。

    然后即使汇编编辑器,Edit或MASM自带的编辑器好像都大同小异。在Vim官网上发现有Dos版本,但官网说DOS16位的,Vim支持的最高版本是7.1。安装后可正常使用,确实比Edit要好很多,但遗憾的是没有语法加亮。

    经搜索,在CSDN上(windows10中最强大王爽汇编语言学习环境)有现成的配置好的Vim-Dos版,该博主确实费了不少心,但使用的Dos版本是7.1。我把该版本的所有文件复制到Dos6.22中,发现除了有错误提示,而且语法加亮也没有了,经过研究,发现Dos7和Dos6在批处理和文件处理上略有差别和Dos批处理下容易出错的知识点,记录如下:

    1、7开始支持长文件名,虽然通过Dir命令显示的是短文件名。因为Vim有些配置文件使用的是长文件名,导致运行问题。

    2、6不支持引号(单双引号)的字符串,包括路径参数、文件名称等,7却可以。如mkdir "dirName" 在7可以运行,在6中会有错误。

    3、批处理中特殊符号的转移字符是^。

    4、批处理中用于比较运算的符号是:equ、neq、lss、leq、gtr、geq和/i(忽略大小写),与大多数脚本语法不一致。

    5、()可用来定义复合语句,如if()else(),如不用复合语句,执行逻辑会有问题。

    6、分号;的作用是分割多个目标,如dir c:&dir d:可以写成dir c:;d:。

    7、goto和call都可以在程序内进行跳转(call还可以调用子程序文件),但call执行完毕后还要返回调用处继续执行,并且可以带调用参数。

  • 相关阅读:
    2013-2014-2(复变函数56)
    2015-2016-1(实变函数56)
    2014-2015-2(常微分方程64, 数学分析提高64)
    2015-2016-2(点集拓扑56, 点集拓扑56)
    2016-2017-2(点集拓扑56, 点集拓扑56)
    2016-2017-1(实变函数56, 点集拓扑56)
    2017-2018-1(实变函数56, 点集拓扑56)
    2013-2014 指导2014届毕业生8名(48)
    2015-2016 指导2016届毕业生8名(48)
    2014-2015 指导2015届毕业生8名(48)
  • 原文地址:https://www.cnblogs.com/meizhouxiang/p/14648456.html
Copyright © 2011-2022 走看看