[英]F# programmatically running .fsx script file
我确信这一定非常简单,但我似乎无法使其发挥作用。 假设我有一个.fsx
脚本文件,并希望以编程方式执行它。 我猜想有人必须在某个时候写过关于此的博客,但我似乎无法找到一个执行我的简单场景的例子。 基本上,我想以编程方式复制右键单击.fsx
文件并选择“使用F#Interactive运行...”时发生的情况。
如评论中所述,您可以将UseShellExecute
设置为false以避免打开Windows shell。 这样,您可以直接在F#shell中输出:
open System.Diagnostics
let execScript script =
let psi = new ProcessStartInfo(@"c:\Program Files\Microsoft F#\v4.0\Fsi.exe")
psi.Arguments <- script
psi.UseShellExecute <- false
let p = Process.Start(psi)
p.WaitForExit()
p.ExitCode
随机乱搞命令行args后我终于开始工作了。 我觉得有点蹩脚回答我自己的问题,但希望它仍能帮助别人。 原来我的困惑是命令行参数的正确用法。 如果某人有比我所说的更优雅或更有用的东西,我会给你答案。
open System.Diagnostics
let launchExecutable() =
let proc = new Process()
proc.StartInfo.FileName <- @"C:\Program Files (x86)\Microsoft F#\v4.0\fsi.exe"
proc.StartInfo.Arguments <- @"--exec --nologo pathToFSXFile\Test.fsx"
proc.Start()
launchExecutable();;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.