我正在尝试检查网络上的文件夹中是否存在文件。 当我按照第二个示例对路径进行硬编码时,脚本按预期工作
但是,在第一个示例中,脚本无法正常运行。我相信我引用了我的变量,并正确地用“”和&分隔了字符串和变量,并确保将最终变量转换为字符串。
tell application "Finder"
set a to "video1"
set thefile to ("/Volumes/folder/" & a & ".avi")
if exists POSIX file (thefile as string) then
log "True"
else
log "False"
end if
end tell
tell application "Finder"
if exists POSIX file ("/Volumes/folder/video1.avi") then
log "True"
else
log "False"
end if
end tell
是否可以解决此问题?
答案 0 :(得分:1)
还有一种更方便的方法。
Finder将本地卷和网络卷都视为disk
。磁盘的名称是Volumes
之后的路径组成部分。
不过,我建议您使用System Events
,它经过优化,并且还具有disk
元素。
set a to "video1"
set thefile to a & ".avi"
tell application "System Events"
if exists file thefile of disk "folder" then
log "True"
else
log "False"
end if
end tell