我有一个带有VBA代码的Excel工作簿,该工作簿需要返回指定目录中所有子目录的列表。使用Windows PC上的Dir(或FileSystemObject),它可以正常工作。
不幸的是,我正在编写代码的人员正在使用Mac,但两种解决方案都没有起作用(显然,FileSystemObject在Mac OS上不可用,并且Dir命令仅返回“。”或系统文件而不是目录) 。
我想尝试使用能够运行Applescript的VBA功能MacScript的另一种方法。我不知道如何在Applescript中编码,并且正在寻求帮助来编写一个脚本,该脚本将使用目录(例如“ / Test Dir”)并返回所有子目录及其完整路径的列表(例如“ / Test Dir”) / Sub1,/ Test Dir / Sub2“)。
任何帮助将不胜感激。
答案 0 :(得分:1)
一种非常有效的方法是使用Shell的find
命令。它比诸如 tell 使用Finder
完成工作的任何 native AppelScript方法要快得多
set folderList to paragraphs of (do shell script "/usr/bin/find '/Test Dir' -type d")
如果路径包含空格字符,则必须在路径两边加上单引号。