Mac-自动操作-给文件添加此刻时间后缀(自定义格式)

PS:原始流程由ai完成,测试和debug由本人完成,正文部分是最终结果
macOS:14.0

目录

给文件添加此刻时间后缀_YYYYMMDD

步骤1:创建Automator快速操作

步骤2:编写AppleScript

步骤3:保存快速操作

步骤4:使用快速操作

解释

给文件添加更详细时间后缀_YYYYMMDD_HHMM

步骤2:编写AppleScript

解释


给文件添加此刻时间后缀_YYYYMMDD

步骤1:创建Automator快速操作

  1. 打开Automator(你可以通过Spotlight搜索找到它)。
  2. 选择“新建文稿”。
  3. 在文稿类型中选择“快速操作”。
  4. 在右侧的“工作流程收到当前”下拉菜单中选择“文件或文件夹”。
  5. 在左侧的“库”中选择“实用工具”。
  6. 拖动“运行AppleScript”到工作区。

步骤2:编写AppleScript

日期格式调整为_YYYYMMDD

在“运行AppleScript”动作中,输入以下代码:

on run {input, parameters}
    -- 获取当前日期,格式为 YYYYMMDD
    set currentDate to do shell script "date +%Y%m%d"
    
    repeat with anItem in input
        set filePath to POSIX path of anItem
        set fileName to (do shell script "basename " & quoted form of filePath)
        set fileDir to (do shell script "dirname " & quoted form of filePath)
        
        set nameComponents to my splitString(fileName, ".")
        if (count of nameComponents) > 1 then
            set fileExtension to "." & (item -1 of nameComponents)
            set fileBaseName to (items 1 thru -2 of nameComponents) as text
        else
            set fileExtension to ""
            set fileBaseName to fileName
        end if
        
        -- 新文件名为原文件名加上 _YYYYMMDD 后缀
        set newFileName to fileBaseName & "_" & currentDate & fileExtension
        set newFilePath to fileDir & "/" & newFileName
        
        do shell script "mv " & quoted form of filePath & " " & quoted form of newFilePath
    end repeat
    
    return input
end run

on splitString(theString, theDelimiter)
    set oldDelimiters to AppleScript's text item delimiters
    set AppleScript's text item delimiters to theDelimiter
    set theArray to text items of theString
    set AppleScript's text item delimiters to oldDelimiters
    return theArray
end splitString

步骤3:保存快速操作

  1. 按下Command+S或选择“文件” -> “存储”。
  2. 为你的快速操作命名,例如“加日期后缀_YYYYMMDD”。
  3. 确保快速操作保存在默认位置(~/Library/Services)。

步骤4:使用快速操作

  1. 打开Finder并导航到你希望加上日期后缀的文件。
  2. 右键点击该文件。
  3. 选择“快速操作” -> “加日期后缀_YYYYMMDD”(你刚才创建的快速操作)。

解释

  • currentDate 变量获取当前日期,格式为 YYYYMMDD
  • 脚本通过 basename 和 dirname 获取文件名和文件路径。
  • 如果文件有扩展名,脚本会将其分离出来。
  • 新文件名是原文件名加上 _YYYYMMDD 后缀。
  • 使用 mv 命令重命名文件。

给文件添加更详细时间后缀_YYYYMMDD_HHMM

不止年月日,再加上24制小时和分钟的信息,日期格式调整为_YYYYMMDD_HHMM,只有如下步骤需要改动:

步骤2:编写AppleScript

在“运行AppleScript”动作中,输入以下代码:

on run {input, parameters}
    -- 获取当前日期和时间,格式为 YYYYMMDD_HHMM
    set currentDateTime to do shell script "date +%Y%m%d_%H%M"
    
    repeat with anItem in input
        set filePath to POSIX path of anItem
        set fileName to (do shell script "basename " & quoted form of filePath)
        set fileDir to (do shell script "dirname " & quoted form of filePath)
        
        set nameComponents to my splitString(fileName, ".")
        if (count of nameComponents) > 1 then
            set fileExtension to "." & (item -1 of nameComponents)
            set fileBaseName to (items 1 thru -2 of nameComponents) as text
        else
            set fileExtension to ""
            set fileBaseName to fileName
        end if
        
        -- 新文件名为原文件名加上 _YYYYMMDD_HHMM 后缀
        set newFileName to fileBaseName & "_" & currentDateTime & fileExtension
        set newFilePath to fileDir & "/" & newFileName
        
        do shell script "mv " & quoted form of filePath & " " & quoted form of newFilePath
    end repeat
    
    return input
end run

on splitString(theString, theDelimiter)
    set oldDelimiters to AppleScript's text item delimiters
    set AppleScript's text item delimiters to theDelimiter
    set theArray to text items of theString
    set AppleScript's text item delimiters to oldDelimiters
    return theArray
end splitString

解释

  • currentDateTime 变量获取当前日期和时间,格式为 YYYYMMDD_HHMM
  • 其他部分与之前的脚本相同,主要是通过 basename 和 dirname 获取文件名和文件路径。
  • 新文件名是原文件名加上 _YYYYMMDD_HHMM 后缀。
  • 使用 mv 命令重命名文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值