You need to enable JavaScript to run this app. 如何批量执行指定分层目录下的多个Linqpad查询脚本?
优惠活动
大模型
产品
解决方案
定价
更多

如何批量执行指定分层目录下的多个Linqpad查询脚本?

解决方案推荐

三种方式都可以实现需求,没有优劣之分,你可以根据自己的使用习惯选择:如果日常习惯用终端操作,选lprun配合PowerShell/bash更方便;如果希望全程在Linqpad内操作,选主控脚本方案即可。

首选方案:用Linqpad自带的lprun命令行工具配合终端脚本

lprun是Linqpad官方自带的命令行执行工具,完美适配所有.linq格式的脚本,执行效果和你手动在Linqpad界面点运行完全一致,不需要额外处理脚本依赖、数据库连接配置等兼容性问题。

PowerShell 执行示例

# 遍历当前目录下所有子文件夹中的.linq脚本按顺序执行
Get-ChildItem -Path . -Filter *.linq -Recurse | ForEach-Object {
    Write-Host "正在执行脚本:$($_.FullName)"
    lprun $_.FullName
    # 遇到错误立即终止执行,不需要可以删掉下面判断
    if ($LASTEXITCODE -ne 0) {
        Write-Error "脚本 $($_.FullName) 执行失败,错误码:$LASTEXITCODE"
        exit $LASTEXITCODE
    }
}

Bash 执行示例

# 遍历当前目录下所有子文件夹中的.linq脚本按顺序执行
find . -name "*.linq" -type f | sort | while read -r script; do
    echo "正在执行脚本:$script"
    lprun "$script"
    # 遇到错误立即终止执行,不需要可以删掉下面判断
    if [ $? -ne 0 ]; then
        echo "错误:脚本 $script 执行失败"
        exit 1
    fi
done

注意:使用前需要把lprun所在目录加入系统环境变量,或者写全lprun的绝对路径,默认安装路径为C:\Program Files\LINQPad[版本号]\lprun.exe

备选方案:Linqpad 主控脚本方案

如果你不想离开Linqpad环境,可以直接写一个新的.linq主控脚本,调用Linqpad内置的Util.Run方法执行其他脚本:

// 主控脚本代码
// 可自定义脚本执行顺序,不需要遍历的话直接手动填路径即可
var scriptPaths = new List<string>
{
    @"A\query1.linq",
    @"A\query2.linq",
    @"B\query3.linq",
    @"B\query4.linq",
    @"C\query5.linq",
    @"C\query6.linq"
};

foreach (var path in scriptPaths)
{
    var fullPath = Path.Combine(Path.GetDirectoryName(Util.CurrentQueryPath), path);
    Console.WriteLine($"开始执行:{fullPath}");
    var result = Util.Run(fullPath, QueryResultFormat.Text);
    if (result.ErrorLevel != 0)
    {
        Console.WriteLine($"执行失败:{fullPath},错误信息:{result.Error}");
        break;
    }
    Console.WriteLine($"执行完成:{fullPath}");
}

直接在Linqpad中运行这个主控脚本即可,所有执行日志都会直接输出在Linqpad结果面板中。

内容的提问来源于stack exchange,提问作者andruidthedude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 03:24:03