【发布时间】:2021-03-07 12:30:27
【问题描述】:
我正在尝试创建一个批处理脚本,它将屏幕截图放在剪贴板上,以便我保存在另一个应用程序中。
我正在使用“^{PRTSC}”并从此处的另一个帖子中复制代码(我会在那里提问/评论,但列表已关闭,我没有足够的积分可以在那里发布。)
当我运行以下行时,我没有收到任何错误:
powershell -c "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys("%{PRTSC}")
但是当我在 Photoshop 中创建一个新文档并选择粘贴 ctrl+v 时,剪贴板中没有粘贴任何内容。
显然代码没有在剪贴板中放置屏幕截图。
(我不想使用 Navcmd )
【问题讨论】:
-
为什么要使用批处理?只需直接使用 PowerShell。有很多预建的,sample/example scripts all over the web for your use case。 MS powershellgallery.com 中甚至还有此类模块。例如搜索 Find-Module -Name 'capture'。您可以从批处理文件调用 PowerShell 脚本。最后,这样做会捕获您从中运行的控制台窗口,除非您通过快捷方式将其最小化或隐藏,并且您必须在双击后立即选择目标窗口。
-
或者更确切地说是做这个复制/prtsc 的事情,我敢打赌 PhotoShop 是一个对象模块,它可以让您进一步自动化从屏幕上捕获内容并通过脚本将其插入到当前的 PhotoShop 窗口中。再一次,我从来没有出于任何原因需要 PhotoShop。所以,没有自动化它的经验。
-
文档说你不能发送 prtsc。
标签: powershell batch-file keystroke printscreen