使用终端将包含多个文件的目录添加到 iTunes 库?

使用终端将包含多个文件的目录添加到 iTunes 库?

根据这篇文章如何从命令行将文件添加到 iTunes,而不播放该文件我想添加多个文件而不是一个。

我尝试添加一个循环和一个查找:

for f in ./*.m4a; do osascript -e \
    "tell application \"iTunes\" to add "$f" Posix file; done

# Or... 

find /Users/filedirectory\
  -type f -name "*.m4a" \
  -osascript -e "tell application \"iTunes\" to add Posix file {}; done

终端>没有给出错误。

答案1

AppleScript 要求 POSIX 路径必须用引号引起来,并且 iTunes 的路径必须是完整路径名。

对于 shellfor命令,路径必须是完整路径,因此使用pwd.$f时必须用引号引起来:

for f in "`pwd`"/*.m4a; do osascript -e \
  "tell application \"iTunes\" to add Posix file \"$f\""; done

对于find版本(末尾没有“完成”),引用如下{}

find /Users/filedirectory \
  -type f -name "*.m4a" \
  -exec osascript -e "tell application \"iTunes\" to add Posix file \"{}\"" \;

用于pwd定位当前目录中的文件。 之后pwd,命令的其余部分相同。

find "`pwd`" -type f ...

每个添加到 iTunes 的文件都会显示如下一行:

file track id 142123 of library playlist id 25858 of source id 65

相关内容