代码之家  ›  专栏  ›  技术社区  ›  DVK

在windows中使用dos批处理程序的原因是什么?

  •  8
  • DVK  · 技术社区  · 15 年前

    问题

    与下载powershell或activestate perl相比,在现代windows系统上用dos批处理语言编程一些非琐碎的任务有什么好的(理想情况下是技术上的)理由呢?

    更具体地说,我对这个问题的持续时间作了以下两个假设:

    • 任何技术上足以编写中等复杂度的批处理脚本的人,其技术上足以安装任何一个脚本解释器。

    • 对于基本的批量替换任务来说,这两种方法都不能提供足够的学习曲线,这一曲线将超过批量执行任何远程非琐碎任务所带来的痛苦。

    笔记

    • “需要autoexec.bat的批处理程序”不是有效的原因。您的autoexec.bat可能只包含调用非批处理脚本。

    • 如果你不同意我上面的两个假设,没关系,我可能错了。但我的问题是 假设这两个假设是正确的 ,还有什么理由继续坚持批量生产?”如果这样更容易中止怀疑(以防你不同意我的观点),那么再加上第三个假设,即问题仅限于那些已经拥有至少一点powershell或perl经验的人。

      要重新迭代-这并不是一个主观问题,即学习psh或asperl与执行高级批处理编码相比有多容易。这是一个独立的问题,太主观了,在这篇文章中是不可打扰的。

    背景 :

    我以前做过一些相当复杂的批处理编程,并且记得批处理是我遇到过的最糟糕的编程语言之一。

    这个问题的想法是在看到一堆批问题之后产生的,出于好奇,试图摸索其中一个问题的答案,一分钟后就痛苦地放弃了,在精神上惊呼“为什么有人会经历这种痛苦,而不是在一行Perl中这样做?”:)

    我自己似是而非的回答

    我假设可能有一个与dos兼容的系统,它有dos解释器,但没有兼容的powershell或perl…我不知道,但也不是完全不可能。

    5 回复  |  直到 15 年前
        1
  •  13
  •   Dan Story    15 年前

    通常,其基本原理是需要脚本在没有其他解释器且不允许安装解释器的计算机上运行。许多公司的生产服务器就是一个很好的例子——您希望它们拥有尽可能少的攻击向量,这意味着没有应用程序功能不需要的脚本语言。

    你说批处理语言是一种糟糕的语言是对的,这是他们花费时间和金钱来构建powershell的原因,但它也是你在各种版本的windows中唯一可以依赖的通用语言。

        2
  •  9
  •   Cade Roux    15 年前

    因为我在一家银行工作,那里的默认浏览器是windows xp上的ie6,我不知道我是否能在某人的计算机上安装powershell,我有一个批处理文件,他们可以使用该文件快速方便地:

    sqlcmd with some pre-import SQL
    bcp
    sqlcmd with some post-import SQL
    

    整个批处理需要运行/netonly,因为工作站不参与SQL Server所在的域/trusts。

    不是我在抱怨什么…

    我想说,它们是不平凡的,因为有时它们需要参数,需要一些非常疯狂的转义引用。

        3
  •  5
  •   wallyk    15 年前

    我在一家大型公用事业公司有一份合同,绝对不允许 未经批准的程序 在他们的电脑上。对于连接控制计算机和设备的最内部网络的计算机来说,这是意料之中的事情,但这项禁令也适用于通用网络和管理网络。

    认可的操作系统是带有IE6的Windows XP SP3。在技术支持部门批准之前,不允许升级。看来,这可能还要再过几年。

    因此,批处理文件是唯一可用的通用脚本工具。一些开发人员机器可以访问C++编译器,但所得到的程序不允许内部分布,直到(可能是多年的)验证努力结束为止。

        4
  •  2
  •   Arle Nadja    15 年前

    您还可以选择使用vbscript或jscript,而不是perl,并且不必担心安装任何其他软件。

        5
  •  0
  •   ghostdog74    15 年前

    各种原因

    1. 其公司政策,无论是出于安全或管理层给出的其他不合逻辑的原因,您必须严格遵守 使用DOS。
    2. 你必须支持一些遗留的任务 剧本已经写好了。
    3. 你或公司的管理人员 只知道做什么没有能力 学习其他语言。
    4. 你正在为一个更大的 DOS程序已编写
    5. 用“更难”的方式做事会让你看起来 酷。
    6. 你手头有很多时间 为一些人设计解决办法 难做的事 轻松使用DOS
    推荐文章