我想要一个可调用其他程序的可执行文件.我在Linux中这样做的方法是使用一个简单的bash脚本,如下所示:
#!/bin/bash echo "running some-program" /home/murat/some-program arg1 arg2
在Windows下执行此类操作的最佳方法是什么?
看看PowerShell,它是您在Unix中获得真正的脚本语言的最接近的.除此之外,对于简单的运行应用程序等简单的事情,请查看Windows命令脚本/ MS-DOS批处理文件.
您可以使用旧的学校批处理文件(http://en.wikipedia.org/wiki/Batch_file),也可以使用全新的Windows PowerShell脚本(http://www.microsoft.com/technet/) scriptcenter/hubs/msh.mspx).
我使用批处理进行简单操作,使用PowerShell处理涉及数据处理的复杂脚本.
Windows上有许多脚本选项:
批处理文件
VBScript/CScript/JScript(与WMI结合使用时功能非常强大)
电源外壳
您可以安装Perl,Python或其他引擎
例如,您可以通过Cygwin安装unix工具,以获得Windows中可用的大多数常见unix命令.
既然我们都是(大多数?)程序员,那么就没有什么能阻止你制作.exe文件来做你想做的事了.
您可以使用Windows批处理文件.在Wikipedia文章中查找更多信息.
只要我们建议使用*nix命令行工具,我建议您查看Cygwin(http://www.cygwin.com),因为它模拟了类似*nix的环境.
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技术中心,但是有大量的资源可用于此.
我曾经使用批处理文件.对于上面提到的简单示例,我仍然这样做,但是越来越多的我一直在使用python来做这些事情.它具有跨平台工作的额外好处,可用于在多个平台上实际有意义的罕见脚本.
Python只是众多可用于此类事务的脚本语言之一.Perl,ruby或php可能更适合你的速度.我发现如果我想做一些比仅使用一些默认参数启动程序更复杂的东西,脚本语言会给我一个更丰富,更容易理解的语法.