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

标签 perl powershell scripting batch-file dos

问题
相对于下载PowerShell或ActiveState Perl,在现代Windows系统上用dos批处理语言编写一些非平凡的任务,这是一个很好的(理想的,技术上的)理由吗?
更具体地说,在这个问题的持续时间内,我做出以下两个假设:

  • 只要具备足够的技术能力就能编写中等复杂度的批处理脚本,就足以安装两个脚本解释器。
  • 这两个都没有提供足够的学习曲线来进行基本的批处理替换任务,该曲线不会超过分批执行任何远程非平凡任务的痛苦。

  • 注释
  • “您需要autoexec.bat批处理程序”不是有效的原因。您的autoexec.bat可能只包含调用非批处理脚本。
  • 如果您不同意以上两个假设之一,那很好,我可能是错的。但是我的问题特别是“假设这两个假设正确,,仍然坚持批处理的原因是什么?”如果更容易使您难以置信(如果您不同意我的看法),请添加第三个假设,即问题仅限于已经至少具有一定程度的PowerShell或Perl经验的人员。
    重申一下-这并不意味着一个主观的问题,即与进行高级批处理编码相比,学习PSh或ASPerl有多么容易。这是一个单独的问题,太过主观,因此在本文中不会引起您的注意。

  • 背景:
    过去,我曾经做过一些相当复杂的批处理编程,并且记得批处理是我遇到过的最糟糕的编程语言之一。
    这个问题的主意是在看到很多关于SO的批处理问题之后,出于好奇而试图从中回答其中一个问题,并在一分钟后放弃痛苦,在精神上大喊“为什么有人会经历这种痛苦呢?在Perl的1行中做到这一点?” :)
    我自己的合理答案
    我认为可能存在一个可能与DOS兼容的系统,该系统具有DOS解释器,但没有兼容的PowerShell或Perl ...我不知道一个,但并非完全不可能。

    最佳答案

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

    当您说批处理语言是一种糟糕的语言时,您是对的-这是他们花时间和金钱来构建PowerShell的原因-但它也是您可以在众多Windows版本中依赖的唯一通用语言。

    关于perl - 在Windows中使用dos批处理程序的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569833/

    相关文章:

    Perl:哪些浮点运算是无损的?

    powershell - 无法将PowerGUI脚本编辑器更新为最新版本

    powershell - 如何在 PowerShell 中将 curl 结果作为变量获取

    linux - 如何根据文件 2 中的某些数字范围使 awk 将文件 1 中的行与文件 2 中的行匹配

    linux - 检查多个变量是否为空并设置它们的值 bourne shell

    perl - 有没有最简单的方法来构建 perl 包

    perl - 有没有办法使用 Net::SFTP::Foreign 递归地列出文件?

    apache - 在 Windows 7 上找不到 Apache 的 "cgi-bin"目录

    windows - Powershell 替换包含以下内容的文件的路径

    javascript - 如何替换脚本源中的url