Applescript将文件复制到新文件夹

10 directory applescript copy file

我需要创建一个AppleSript,它将指定的文件从一个文件夹复制到新创建的文件夹.

需要在AppleScript编辑器中指定这些文件,如下所示:

start

fileToBeMoved = "Desktop/Test Folder 1/test.doc"
newfoldername = "Test Folder 2"

make newfolder and name it 'newfoldername'
copy 'fileToBeMoved' to 'newfolder'

end
Run Code Online (Sandbox Code Playgroud)

Ale*_*lds 11

通常:

tell application "Finder"
  make new folder at alias "Macintosh HD:Users:user:Desktop:" with properties {name:"Test Folder 2"}
  copy file "Macintosh HD:Users:user:Desktop:Test Folder 1:test.doc" to folder "Macintosh HD:Users:user:Desktop:Test Folder 2"
end tell
Run Code Online (Sandbox Code Playgroud)

您可以添加表示POSIX文件和路径的变量名称.

显然冒号字符(:)是文件夹和文件名的保留字符.

set desktopFolder to "Macintosh HD/Users/user/Desktop/"
set desktopFdrPosix to quoted form of POSIX path of desktopFolder
set newFolderName to "Test Folder 2"
set destinationFdrPosix to quoted form of desktopFdrPosix & POSIX file newFolderName
set sourceFilename to "Test Folder 1/test.doc"
set sourceFnPosix to quoted form of desktopFdrPosix & POSIX file sourceFilename

tell application "Finder"
  make new folder at alias desktopFdrPosix with properties {name:newFolderName}
  copy file sourceFnPosix to folder destinationFdrPosix
end tell    
Run Code Online (Sandbox Code Playgroud)

如果目标文件夹已存在,您可能还需要添加错误检查.

  • 要复制到已安装的SMB文件共享上的文件夹,我需要更改什么?我在挂载在`/ Volumes / Video`的共享上有“电影”文件夹。我尝试为“复制文件”和“复制文件”分别为“视频”,“视频/电影”,//卷/视频和//卷/视频/电影创建“引用形式的POSIX路径”。 ,使用“到文件夹”或“到磁盘”。他们都没有工作。所有人都给出错误:执行错误:Finder出现错误:无法将文件夹(或磁盘)设置为文件“” / Users / me / path / to /“” / Volumes / Video / Movies” file.m4v'”。(-10006)` (2认同)

Che*_*ion 5

AppleScript的诀窍是移动文件是使用别名完成的.

更现实的是,制作一个shell脚本可能更容易,do shell script如果您正在使用Automator或类似的东西,可以使用AppleScript运行.

#!/bin/sh

fileToBeMoved="$HOME/Desktop/Test Folder 1/test.doc"
newFolderName="Test Folder 2"
mkdir "$newFolderName"
cp -a "$fileToBeMoved" "$newFolderName"
Run Code Online (Sandbox Code Playgroud)