簡體   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