【问题标题】:Duplicate File Using Applescript/Terminal使用 Applescript/终端复制文件
【发布时间】:2014-07-06 21:33:55
【问题描述】:

我正在使用 applescript 编写一个程序,该程序将使用“osacompile”终端命令编译一个单独的应用程序,然后将在原始文件的包内容中找到的文件(不是通过 osacompile 创建的文件)复制到包中osacompiled 应用程序的内容。但是,我什至无法将所选文件移动到桌面或文档文件夹。

我尝试了几种方法,例如“cp”命令和“tell application Finder”命令。在下面粘贴的损坏脚本示例中,我尝试使用“cp”命令。

这是脚本:

set MusicFile to (path to me) & "Contents:Resources:CountryPackages:Soviet Union:SovietMusic.mp3"

set SovietUnion to "display dialog \"ok\""

set DesktopPath to (path to desktop)

do shell script "osacompile -x -o ~/Desktop/SovietUnion.app -e " & quoted form of SovietUnion

set DuplicateDestination to (path to desktop as alias) & "SovietUnion.app:Contents:Resources:"      

do shell script "cp -RfXv " & MusicFile & DesktopPath

【问题讨论】:

    标签: macos shell terminal copy applescript


    【解决方案1】:

    有些路径看起来不正确。在 shell 脚本中,您应该使用 UNIX 路径。

    set MusicFile to ((path to me) as text) & "Contents:Resources:CountryPackages:Soviet Union:SovietMusic.mp3"
    
    set DuplicateDestination to alias (((path to desktop) as text) & "SovietUnion.app:Contents:Resources:")  
    
    do shell script "cp -RfXv " & quoted form of POSIX path of MusicFile & space & quoted form of POSIX path of DesktopPath
    

    【讨论】:

      【解决方案2】:

      要删除文件系统中的重复项,您可以使用 fdupes。

      brew install fdupes
      fdupes --help
      fdupes ./ -d -N -r
      

      在哪里

      • “-d” - 删除重复项
      • “-N” - 无提示
      • “-r” - 递归

      【讨论】:

        猜你喜欢
        • 2012-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多