Mur*_*fer 14 windows shell command-line batch-file
我想要一个可调用其他程序的可执行文件.我在Linux中这样做的方法是使用一个简单的bash脚本,如下所示:
#!/bin/bash
echo "running some-program"
/home/murat/some-program arg1 arg2
Run Code Online (Sandbox Code Playgroud)
在Windows下执行此类操作的最佳方法是什么?
Sco*_*man 24
看看PowerShell,它是您在Unix中获得真正的脚本语言的最接近的.除此之外,对于简单的运行应用程序等简单的事情,请查看Windows命令脚本/ MS-DOS批处理文件.
Bog*_*dan 14
您可以使用旧的学校批处理文件(http://en.wikipedia.org/wiki/Batch_file),也可以使用全新的Windows PowerShell脚本(http://www.microsoft.com/technet/) scriptcenter/hubs/msh.mspx).
我使用批处理进行简单操作,使用PowerShell处理涉及数据处理的复杂脚本.
Joe*_*orn 10
Windows上有许多脚本选项:
Windows NT系列操作系统(NT 3.51,NT 4.0,2000,XP,Vista)具有相当强大的命令外壳,即使它有点深奥.这个shell没有典型UNIX shell的强大功能,但它在Windows机器上无处不在,而且可以实现的目标非常惊人.一本很好的书就是Timothy Hill的Windows NT Shell Scripting.我总是发现Rob van der Woude的Scripting Pages是批处理文件的绝佳资源.
PowerShell是Microsoft在该领域的最新产品,它将脚本提升到一个全新的水平,让您可以访问.NET框架以及WMI,COM和Windows中任何其他界面的所有功能.这有一个相当陡峭的学习曲线,但它绝对是走的路,我认为它有可能成为微软世界中的基础技术技能之一(如RegEx,XPath等).一个很好的起点是Microsoft Windows PowerShell技术中心,但是有大量的资源可用于此.
更新:哇,这现在已经过时了(尽管这是不可避免的)。Powershell 无疑正越来越多地成为 Windows 中自动化的首选语言。它具有任何 .net 语言(如 C#)的许多优点,并结合了任何优秀 shell 语言中存在的许多便利性,并且没有批处理文件的严重缺点。
就其价值而言,我在一家位于雷蒙德的大型软件公司见过的最受欢迎的选项(按受欢迎程度大致排序):
不太受欢迎:
请注意,Perl 不需要安装,它只需要一些环境变量更新,因此很容易将完整的发行版与其他工具一起放入源代码控制系统中。
我个人的偏好是尽可能避免使用批处理文件,即使采用最仔细和最严格的流程,其成本效益也是不值得的。如果您使用批处理,您将永远不会得到令人满意的解决方案。Perl 和 Javascript 很容易使用,但存在一些麻烦的基本缺陷,还有很多不足之处,如果没有强有力的开发指南,这些方法很可能会导致低质量的代码。
Python 和 Powershell 是不错的选择,但我对它们还不够熟悉,更重要的是,很多人对它们不太熟悉。也许这不是一个足够好的借口。微小的 exe 也可能有很多问题,需要纪律和流程,以确保源始终签入,exe 符合某些 UI 规范(例如,如果您运行 -? 或 /?,它们会提供有用的帮助),它们有一个明显的所有者,更新 EXE 的过程是可发现的,等等。