智能重定向Google截图并自动化处理

18次阅读
没有评论

解决方案:重定向 Google Markup 输出与自动化处理

问题概述

用户希望将 Google Markup 的截图输出位置从系统默认位置更改为自定义位置(例如 /storage/emulated/0/Pictures/Screenshots/),并自动处理文件的操作,包括生成、重命名和删除操作。

解决方案步骤

  1. 更改输出路径
  2. **获取原始文件名`
  3. 重命名与替换原文件
  4. 监控新创建的文件

详细解决方案

1. 更改输出路径

由于 emulated 存储不支持链接,我们需要使用其他方法来实现类似的功能。可以通过在 Android 上安装自动化管理工具来间接实现目标。

一个有效的方法是使用 Magisk 的功能 bind mount 来创建虚拟挂载点(注意:具体操作需要一定技术知识):

magisk --install-path /storage/emulated/0/Pictures/Screenshots/ -B /storage/emulated/0/Android/media/com.google.android.markup/Markups

这一步将“/storage/emulated/0/Android/media/com.google.android.markup/Markups”绑定到自定义路径。

2. 动作自动化

我们可以利用一些自动化管理工具(如 Smartisan Automation (坚果智能控件) 或类似工具),来监视 /storage/emulated/0/Pictures/Screenshots/ 目录中新的文件创建,进而进行需要的操作:

  • 获取原始文件名

安装并启动“Smartisan Automation”。在自动化脚本编辑器里添加以下操作:

  • 监视特定路径(/storage/emulated/0/Pictures/Screenshots/Markups/
  • 当新文件创建时

    • 获取新文件的完整路径和名称
      shell
      @path = $event_data["file"]
    • 比较原始与当前生成时间戳,获取截屏的时间名,例如 2023-10-04_16-30-54 格式。
    • 重命名文件为所需的格式(如 Screenshot_YYYYMMDD-hh-mm-ss.png
      shell
      @original_name = $event_data["file"].split('/').pop()
      @formatted_name = "Screenshot_" + @original_name.split("_")[1] + ".png"
      move $path, "/storage/emulated/0/Pictures/Screenshots/" + @formatted_name
  • 移动文件,并删除原文件

添加相关操作将重命名后的文件移动到指定位置,在移动成功后,可以添加删除原文件的部分。

安全与注意事项

始终遵循根用户权限的最小化使用原则,确保操作不会对系统功能产生不良影响。同时,考虑备份重要数据,避免意外的数据丢失。

通过上述方法和工具组合,我们可以轻松实现 Google Markup 的输出路径更改、自定义命名并删除操作。

附: 示例自动化脚本

示例为简化起见,并未处理所有细节,你需要根据具体使用情况调整语法。这里主要是展示思路与主要步骤。

@path = $event_data["file"]
@original_name = @path.split('/').pop()
@timestamp = @original_name.split("_")[1]
@formatted_name = "Screenshot_" + @timestamp + ".png"
move @path, "@formatted_name"
rm @path  # 只在确认新文件正确创建后执行

这将提供持续监控与自动化处理所需的功能,简化了用户手动操作的复杂度。

正文完