You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell从命令行滚动Toad查询输出至底部的问题

解决Toad启动后自动滚动到查询输出底部的问题

你的问题核心有两个:

  1. 错误地将PowerShell的SendKeys命令当作Toad的启动参数传递,Toad无法识别该参数,因此滚动操作不会执行。
  2. 就算命令写法正确,也未给Toad预留足够的启动、查询执行及输出加载时间,按键发送时机过早,窗口未就绪。

以下是修正后的脚本:

# 启动Toad并执行指定SQL脚本
$toadProcess = Start-Process Toad -ArgumentList "-min","-c","admin/xxxx@yyyyy","-f","C:\Users\Documents\test.sql","/EXEC" -PassThru

# 等待Toad完成加载与查询执行(可根据实际情况调整秒数)
Start-Sleep -Seconds 10

# 发送Ctrl+End按键滚动到输出底部
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('^{END}')

关键调整说明:

  • 使用-PassThru参数获取Toad进程对象,便于后续确认进程状态(可选操作)。
  • 添加Start-Sleep指令,给Toad足够时间完成启动、数据库连接、查询执行和输出加载,时间可根据数据库规模、脚本复杂度灵活调整。
  • 单独执行SendKeys命令,而非将其作为Toad启动参数,确保按键发送至已就绪的Toad窗口。

若直接发送按键无效果,可尝试先激活Toad窗口:

# 获取Toad主窗口句柄并激活
$toadWindow = Get-Process -Id $toadProcess.Id | Select-Object -ExpandProperty MainWindowHandle
[System.Windows.Forms.SendKeys]::SendWait('%') # 先按Alt确保窗口激活
[System.Windows.Forms.SendKeys]::SendWait('^{END}')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:48:16