【问题标题】:Calling batch file from F-Sharp从 F-Sharp 调用批处理文件
【发布时间】:2019-01-23 20:55:54
【问题描述】:

有什么方法可以从我的 F# 程序中调用批处理文件?我的批处理文件名为 eso.bat,用于下载网站的 html 内容。该文件有效,但如果它可以由程序本身自动完成,那就太好了。

【问题讨论】:

  • 通过Process 类,您可以像在任何.NET 语言中一样调用它。为什么要使用批处理文件来下载任何东西呢?为什么不使用 F# 来做到这一点?检查 How to consume HttpClient from F#?Http.fs 以获得更适合 F# 的库
  • 我在 IT 部门工作。防火墙阻止了服务器的响应,所以我总是遇到连接失败。但由于某种原因,它适用于批处理文件。
  • 批处理文件,或者更确切地说,它们执行的命令,也会受到防火墙的影响。您可能应该检查该批次的作用。也许它使用特定的代理或凭据
  • 你能解释一下我是怎么做到的吗?我只是一个小项目的学生助理,我只完成了计算机科学的第一学期,所以我绝不是大师。

标签: batch-file f#


【解决方案1】:

简单的方法是:

open System.Diagnostics
Process.Start "..\eso.bat"

如果您需要传递参数或指定起始目录,则:

open System.Diagnostics
let procStart   = ProcessStartInfo("eso.bat", "params", WorkingDirectory = "..")
let proc        = new Process(StartInfo = procStart)
proc.Start()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 2023-03-17
    相关资源
    最近更新 更多