我广泛使用 ShareX 和 Microsoft Outlook,经常一起使用,因此如果 ShareX 可以写入“最近的项目”以便快速附加屏幕截图,那将非常有用。
答案1
ShareX 的“Actions”功能允许使用参数调用文件并提供两个变量:
%input
.描述为‘文件路径’。%output
. 描述为‘不带扩展名的文件路径 + “输出文件扩展名”’
我确定:
- 调用命令提示符或 Windows PowerShell 二进制文件,并使用创建文件的命令作为参数不是工作,因为由于某种原因,ShareX 变量的简单存在导致它失败。
- 调用 PowerShell 脚本文件 (
.PS1
),参数为 ShareX 路径变量不是起作用,因为默认情况下它们是不可执行的。 - 调用批处理脚本文件(
.BAT
),并以 ShareX 路径变量为参数,这样就可以工作,因为默认情况下,它们是可执行的。
经过大量的反复试验后(主要是为了确保与包含单引号的路径兼容),我创建了一个.BAT
包含以下内容的文件,该文件可以(以某种方式)工作:
@echo off
PowerShell -Command " $File_Image_Path=""%1""; $File_Shortcut_Path = '%appData%\Microsoft\Windows\Recent\ShareX_' + (Get-Date -Format 'yyyy-MM-dd_HH-mm-ss') + '.lnk'; $File_Shortcut=(New-Object -COM WScript.Shell).CreateShortcut($File_Shortcut_Path); $File_Shortcut.TargetPath=$File_Image_Path; $File_Shortcut.Save(); "
因此,ShareX 操作配置如下:
- 姓名:
Recent Items
- 文件路径:
C:\Program Files\ShareX\addToRecentItems.bat
- 参数:
%input
- 输出文件扩展名:空白
- 扩展过滤器:空白
- 隐藏窗口:有