繁体   English   中英

使用Python或F#中的参数运行批处理文件

[英]Running a batch file with parameters in Python OR F#

我搜索了网站,但我没有看到任何与我想要的相匹配的东西。 我创建了一个使用我创建的Web服务的独立应用程序。 要运行客户端我使用:

C:/scriptsdirecotry> "run-client.bat" param1 param2 param3 param4

我将如何用Python或F#编写代码。 看起来它应该很简单,但我没有在网上看到任何与我正在寻找的相匹配的东西。

在F#中,您可以使用System.Diagnostics名称空间中的Process类。 运行命令的最简单方法应该是:

open System.Diagnostics
Process.Start("run-client.bat", "param1 param2")

但是,如果需要提供更多参数,则可能需要首先创建ProcessStartInfo对象(它允许您指定更多选项)。

Python是类似的。

import os
os.system("run-client.bat param1 param2")

如果需要异步行为或重定向标准流。

from subprocess import *
p = Popen(['run-client.bat', param1, param2], stdout=PIPE, stderr=PIPE)
output, errors = p.communicate()
p.wait() # wait for process to terminate

或者,您可以使用fsi.exe来调用F#脚本(.fsx)。 给出文件“Script.fsx”中的以下代码

#light

printfn "You used following arguments: "
for arg in fsi.CommandLineArgs do
  printfn "\t%s" arg

printfn "Done!"

您可以使用以下语法从命令行调用它:

fsi --exec .\Script.fsx hello world

然后FSharp交互将返回

You used following arguments:
        .\Script.fsx
        hello
        world
Done!

有关msdn的fsi.exe命令行选项的更多信息: http//msdn.microsoft.com/en-us/library/dd233172.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM