这将是一个很好的(理想情况下,技术)的理由永远方案DOS批处理语言现代化的Windows系统上的一些不平凡的任务,而不是下载或者PowerShell或ActiveState的Perl的?
更具体地讲,我为这个问题的持续时间以下两个假设:
人足够的技术,能够写一个中等复杂批处理脚本是足够的技术来安装这的脚本解释器。
对于基本的批量替换任务,这两者都没有足够的学习曲线,所述曲线将超过批量执行任何远程非平凡任务的痛苦。
注意
“你需要一个批处理程序AUTOEXEC.BAT” 不是一个正当的理由。你的autoexec.bat可能只是调用非批处理脚本。
如果你不同意我的两个假设中的任何一个,那很好,我可能是错的。但我的问题特别是“假设这两个假设是正确的,那么仍然坚持批处理的原因是什么?”如果它更容易暂停怀疑(如果您不同意我的观点),请添加第三个假设,即该问题仅限于那些已经提出至少一定程度PowerShell或Perl体验的人。
要重新迭代 - 与进行高级批量编码相比,这并不意味着要学习PSh或ASPerl有多容易。这是一个单独的问题,太过于主观而不适合在这篇文章中讨论。
背景:
我用来做一些相当复杂的批处理编程回到了长老天,记住批次,因为我曾遇到的最糟糕的编程语言之一。
这个问题的想法是在看到一堆关于SO的批处理问题之后出现的,并试图从纯粹的好奇心中琢磨出其中一个问题的答案,并在一分钟后放弃痛苦,精神惊叹道:“为什么会有人去通过这种痛苦,而不是在1行Perl中做到这一点?“ :)
我自己的合理的答案
我认为有可能是一个可能的兼容DOS系统,它具有DOS解释,但没有兼容的PowerShell或Perl ...我不知道一个但并非完全不可能。
注意解决方法是在DOS(command.com)和Windows(CMD.EXE)命令行shell是两个非常不同的世界。出于所有实际的目的,这两者仅仅共享一些语法,但没有别的。 'autoexec.bat'也不再存在一段时间了。除非你还碰巧运行DOS或Windows 9x。 – Joey 2010-04-03 08:32:10
@Johannes - 嗯...我仍然可以在我所有的XP安装中看到autoexec.bat,但是我从不需要在那里放置任何东西,所以不知道它是否工作:) – DVK 2010-04-03 12:44:29
这是古代应用程序,它希望它在那里。与config.sys一样。通常他们是空的。 Windows在'autoexec.bat'中设置环境变量并在Windows中设置它们(DOS程序设置定期设置'PATH'或其他变量以使它们可以正常运行)。除此之外,这些文件已经没有用了,这只是一个向后兼容性。 – Joey 2010-04-03 13:12:12