如何在Windows中像运行PowerShell脚本一样无缝执行F#脚本
实现Windows下直接执行F#脚本(.fsx)的方法
在Windows环境中,运行PowerShell脚本(比如script1.ps1)只需直接输入脚本名即可:
.\script1.ps1 <参数>
但运行F#脚本(.fsx)时,必须先输入dotnet fsi前缀:
dotnet fsi script1.fsx <参数>
以下是仅适用于Windows的配置方法,让你可以像运行PowerShell脚本一样直接执行F#脚本:
方法1:通过文件关联配置
- 打开命令提示符(CMD)或PowerShell,以管理员身份运行
- 执行以下命令,将
.fsx文件关联到dotnet fsi:assoc .fsx=FSharpScript ftype FSharpScript="C:\Program Files\dotnet\dotnet.exe" fsi "%1" %*注意:如果你的dotnet安装路径不是默认的
C:\Program Files\dotnet\dotnet.exe,请替换为实际路径 - 配置完成后,关闭并重新打开终端,即可直接运行:
.\script1.fsx <参数>
方法2:通过PowerShell配置别名(临时/永久)
临时生效(仅当前会话)
在PowerShell中执行:
Set-Alias fsx "dotnet fsi"
之后可以用fsx .\script1.fsx <参数>执行,若想更进一步,可结合函数实现直接输入脚本名:
function Invoke-FsiScript { dotnet fsi $args } Set-Alias .fsx Invoke-FsiScript
注意:这种方法仅在PowerShell中生效,CMD无法使用
永久生效(所有PowerShell会话)
- 打开PowerShell配置文件:
notepad $PROFILE - 将上述的函数和别名代码添加到文件中,保存后重启PowerShell即可生效
方法3:使用批处理脚本包装
为每个.fsx脚本创建对应的同名.bat文件,内容如下:
@echo off dotnet fsi "%~dpn0.fsx" %*
之后直接运行.\script1.bat <参数>即可,效果等同于直接执行F#脚本
内容的提问来源于stack exchange,提问作者Franco Tiveron
相关产品推荐
相关产品推荐

