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

如何使用PowerShell打开指定应用文件、打印并模拟点击确认后关闭应用

问题说明

你遇到的 Out-Printer 不生效是正常的:Out-Printer 仅支持将 PowerShell 控制台的输出内容直接发送到打印机,无法控制第三方应用的打印逻辑,因此不适用于你的场景。

你可以根据你使用的DAT关联应用的情况,选择以下两种方案实现需求:


方案1:使用应用自带的命令行打印参数(最稳定,优先选择)

绝大多数桌面应用都支持命令行参数直接触发打印,无需模拟用户操作,不会受桌面其他窗口干扰。操作步骤如下:

  1. 找到你用来打开DAT文件的目标应用的完整安装路径,比如C:\Program Files\你的应用名称\app.exe
  2. 查询该应用的官方说明,确认打印参数(大部分应用的打印参数为/p、-print)
  3. 使用如下代码执行打印:
# 替换为你的应用实际路径
$appPath = "C:\Program Files\你的应用名称\app.exe"
# 替换为你要打印的文件路径
$filePath = 'C:\Users\Public\Documents\RSView Enterprise\SE\HMI Projects\printer\DLGLOG\print\2021 10 30 0000 (Float).DAT'
# 调用应用打印文件,打印完成后自动退出,-Wait会等待打印任务完成再执行后续代码
Start-Process -FilePath $appPath -ArgumentList "/p `"$filePath`"" -Wait

方案2:模拟快捷键操作(仅适用于应用不支持命令行打印的场景)

如果你的应用没有提供命令行打印能力,可以通过发送系统快捷键的方式模拟点击打印、确认按钮,代码如下:

# 引入.NET窗体类库支持按键发送
Add-Type -AssemblyName System.Windows.Forms

$filePath = 'C:\Users\Public\Documents\RSView Enterprise\SE\HMI Projects\printer\DLGLOG\print\2021 10 30 0000 (Float).DAT'
# 启动文件并获取对应进程对象
$process = Start-Process -FilePath $filePath -PassThru

# 等待应用完全启动,可根据你的应用启动速度调整等待时长(单位:毫秒)
Start-Sleep -Milliseconds 2000

# 激活应用窗口,确保按键发送到正确窗口
$process | Set-ProcessWindow -Focus -ErrorAction SilentlyContinue
# 如果上面的命令报错,替换为以下两行:
# Add-Type -AssemblyName Microsoft.VisualBasic
# [Microsoft.VisualBasic.Interaction]::AppActivate($process.Id)
Start-Sleep -Milliseconds 300

# 发送Ctrl+P快捷键触发打印
[System.Windows.Forms.SendKeys]::SendWait("^p")
Start-Sleep -Milliseconds 1000

# 发送回车键确认打印,如果需要选择打印机/调整参数,可以在此处插入更多按键操作
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")

# 等待打印任务提交完成
Start-Sleep -Milliseconds 2000

# 关闭应用
if (!$process.HasExited) {
    $process.CloseMainWindow()
    Start-Sleep -Milliseconds 500
    # 若窗口无法正常关闭则强制结束进程
    if (!$process.HasExited) {
        $process | Stop-Process -Force
    }
}

注意事项:

  • 脚本运行期间不要操作鼠标键盘,避免按键发送到其他窗口
  • 要是你的打印确认窗口需要额外操作(比如选择指定打印机、调整打印份数),可以在发送^p之后插入对应的Tab切换、按键输入代码
  • 如果需要更稳定的无干扰操作,可以使用Windows UI Automation库定位打印按钮控件直接点击,比全局发送按键的容错性更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:09:03