You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AppleScript创建新文件并自动覆盖原有旧文件

错误原因

Finder 的 make 命令没有内置 replace 配置属性,你自定义添加的 replace:true 会被系统识别为未声明的变量,因此无法实现覆盖旧文件的效果。

实现覆盖的修正代码

要实现重复运行时自动替换旧文件,只需在创建新文件前先判断目标路径是否存在同名文件,存在则先删除旧文件即可:

set targetFileName to "textfile.txt"
-- 指定保存路径为Documents文件夹
set targetFolder to path to documents folder as text
set targetFullPath to targetFolder & targetFileName

tell application "Finder"
    -- 旧文件存在则先删除
    if exists file targetFullPath then
        delete file targetFullPath
    end if
    -- 创建新文件
    make new file at folder targetFolder with properties {name:targetFileName}
end tell

如果需要直接彻底删除旧文件而不移入废纸篓,可以将删除逻辑替换为Shell的rm命令,执行效率更高:

-- 替换上述删除逻辑即可
do shell script "rm -f " & quoted form of POSIX path of targetFullPath

内容的提问来源于stack exchange,提问作者gurkensaas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 19:54:04