从 applescript 更改屏幕截图的目录

Change directory for screenshot from applescript

我正在制作一个脚本,通过截取 PhotoBooth 的屏幕截图来拍摄打开它的人的照片。但是,我不知道如何更改屏幕截图的目录,因为我刚启动 AppleScript。例如,我希望它进入文件夹 /Users/ADMIN/Desktop/AllFolders/Folder1/Folder2 我该怎么做?

这是我的代码:

tell application "Photo Booth"

    activate
    set volume output volume 0
    tell application "Finder" to set visible of process "Photo 
Booth" to false

end tell

property N : 0
set N to N + 1
delay 0.1
set picPath to ((POSIX path of (path to desktop)) & "Picture_" & N & ".png") as string
do shell script "screencapture -tjpg " & quoted form of 
picPath

tell application "Photo Booth"
    quit
end tell

下载 Mac 的 isightcapture 实用程序(Google 搜索,感谢 axel@intergalatic.de 使它成为免费软件!),并将文件存储在 Mac,例如在您的文档文件夹中。

通过 'do shell script' 指令在 Applescript 中使用此 shell 命令:

do shell script "~/Documents/isightcapture ~/Desktop/Photo.jpg"

“~/Documents”是您的 isightcapture 命令的路径:在您的 Documents 文件夹中。

'~/Desktop/Photo.jpg' 存储在 Desktop 上制作的名称为 Photo.jpg 的图片。当然,它可以是您的任何其他文件夹!

该命令有几个参数(isightcapture -h 将为您提供更多选项)

-t 选项指定照片格式:jpg(默认)、png、tiff、bmp

-w和-h定义图片大小

Do shell script  ~/Documents/isightcapture -w 320 -h 240 -t png ~/Documents/Folder1/P1.png

此脚本拍摄一张照片并将其以 png 格式存储在文件 P1.png 中,该文件位于我的文档文件夹中的文件夹 Folder1 中。图片尺寸为320 x 240.

注意:此实用程序从 Snowleopard (OS 10.6) 开始运行,我对其进行了测试,直到 OS 10.12。我看不出它在下一个版本中不起作用的任何原因。

终于不用iSightCapture搞定了!

首先,我没有让照相亭不可见,而是在截屏后立即将其关闭。感谢@CJK 修复错误。

为了回答问题,我发现代码:

set picPath to ((POSIX path of (path to desktop)) & "Picture_" & N & ".png") as string
do shell script "screencapture -tjpg " & quoted form of picPath

是这个问题的答案。 我去掉了 N 加法以简化它。 而不是

POSIX path of (path to desktop)

我改变了路径。

set picPath to (POSIX path of "/Users/ADMIN/Desktop/folder1/folder2/nameoffile ") & ".png" as string

这有效:)