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

运行PowerShell操作Notepad++标记行时遇类型找不到错误

问题解决方法

一、修复[System.Windows.Forms.SendKeys]找不到类型的错误

错误原因是未加载System.Windows.Forms程序集,需在调用SendKeys前添加加载语句:

Add-Type -AssemblyName System.Windows.Forms

完整的程序集加载代码应为:

Add-Type -AssemblyName Microsoft.VisualBasic
Add-Type -AssemblyName System.Windows.Forms

二、实现“复制标记行”的正确操作流程

你的SendKeys序列未正确触发“复制标记行”操作,以下是修正后的完整脚本及说明:

修正后的完整脚本

$file = "C:\Files\Timings.csv"
$notepad = "C:\Program Files\Notepad++\notepad++.exe"

# 打开目标CSV文件
Start-Process $notepad $file

# 等待Notepad++启动并激活(可根据实际情况调整等待时长)
Start-Sleep -Seconds 1

# 激活Notepad++窗口
[Microsoft.VisualBasic.Interaction]::AppActivate("Notepad++")

# 1. 批量标记Location列值为22102的行
[System.Windows.Forms.SendKeys]::SendWait("^f")  # Ctrl+F打开查找对话框
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("Location: 22102")  # 输入查找内容
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("{TAB}")  # 切换到“标记”选项卡
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("!a")  # Alt+A 触发“标记所有”按钮
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("{ESC}")  # 关闭查找对话框

# 2. 复制所有标记行
[System.Windows.Forms.SendKeys]::SendWait("%s")  # Alt+S打开“搜索”菜单
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("m")  # 选择“标记”子菜单
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("c")  # 选择“复制标记行”

# 3. 新建文件并粘贴内容
[System.Windows.Forms.SendKeys]::SendWait("^n")  # Ctrl+N新建文件
Start-Sleep -Milliseconds 100
[System.Windows.Forms.SendKeys]::SendWait("^v")  # Ctrl+V粘贴内容

关键修正说明

  • 增加操作延迟:Notepad++界面响应需要时间,添加短暂等待避免SendKeys命令因执行过快失效
  • 修正标记流程:切换到“标记”选项卡执行批量标记,而非单独按F2(F2仅用于切换单行书签)
  • 用菜单路径触发操作:相比快捷键,通过Alt菜单路径更稳定,不受Notepad++自定义快捷键设置影响

注意:如果你的Notepad++是中文界面,菜单快捷键需对应调整(比如中文“搜索”菜单为Alt+S,“标记”子菜单为“B”,“复制标记行”为“C”,需根据实际界面验证)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 16:37:06