我正在尝试检查网络上的文件夹中是否存在文件。 当我像第二个示例中那样对路径进行硬编码时,脚本的工作方式是
但是,在第一个示例中,脚本无法正常工作。我相信我正确地引用了我的变量,用"和&将字符串和变量分开,并确保最终变量转换为字符串。
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
有没有办法解决这个问题?
还有更方便的方法。
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