将 ShareX 创建的文件添加到最近的项目

将 ShareX 创建的文件添加到最近的项目

我广泛使用 ShareX 和 Microsoft Outlook,经常一起使用,因此如果 ShareX 可以写入“最近的项目”以便快速附加屏幕截图,那将非常有用。

答案1

ShareX 的“Actions”功能允许使用参数调用文件并提供两个变量:

  1. %input.描述为‘文件路径’。
  2. %output. 描述为‘不带扩展名的文件路径 + “输出文件扩展名”’

我确定:

  1. 调用命令提示符或 Windows PowerShell 二进制文件,并使用创建文件的命令作为参数不是工作,因为由于某种原因,ShareX 变量的简单存在导致它失败。
  2. 调用 PowerShell 脚本文件 ( .PS1),参数为 ShareX 路径变量不是起作用,因为默认情况下它们是不可执行的。
  3. 调用批处理脚本文件(.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
  • 输出文件扩展名:空白
  • 扩展过滤器:空白
  • 隐藏窗口:有

在此处输入图片描述

相关内容