Macos 将文件移动到具有Applescript中相同前5个字符的文件夹

Macos 将文件移动到具有Applescript中相同前5个字符的文件夹,macos,file,applescript,directory,Macos,File,Applescript,Directory,假设文件夹“A”中有以下文件: “AAAAA 1x1”、“AAAAA 1x2”、“BBBBB 1x1”、“BBBBB 1x2”、“CCCCC 1x1”、“CCCCC 1x2” 在文件夹“B”中,我有以下文件夹: “AAAA”、“BBBBB”、“CCCCC” 我要做的是将文件夹“A”中的所有“AAAAA”文件移动到文件夹“B”中的文件夹“AAAAA”,“BBBBB”文件移动到文件夹“BBBBB”,等等 如何使用Apple脚本执行此操作?尝试在终端中运行如下命令: for f in A/*; do

假设文件夹“A”中有以下文件:

“AAAAA 1x1”、“AAAAA 1x2”、“BBBBB 1x1”、“BBBBB 1x2”、“CCCCC 1x1”、“CCCCC 1x2”

在文件夹“B”中,我有以下文件夹:

“AAAA”、“BBBBB”、“CCCCC”

我要做的是将文件夹“A”中的所有“AAAAA”文件移动到文件夹“B”中的文件夹“AAAAA”,“BBBBB”文件移动到文件夹“BBBBB”,等等


如何使用Apple脚本执行此操作?

尝试在终端中运行如下命令:

for f in A/*; do echo mv "$f" B/${f:2:5}; done
删除
echo
以实际移动文件。

尝试:

set folderA to "/Users/Joao/Desktop/A"
set folderB to "/Users/Joao/Desktop/B"

tell application "System Events"
    set subFolders to folders of (folder folderB)
    repeat with subfolderB in subFolders
        move (files of folder folderA whose name starts with (name of subfolderB)) to (path of subfolderB)
    end repeat
end tell
以下是代码(感谢MacScripter的一些优秀人员):


OP-以防万一你不知道-走这条路来测试代码:1。打开Terminal.app。2.键入“cd”(不带引号,但带有空格字符-“cd”表示“更改目录”)。现在将包含文件夹A和文件夹B的文件夹拖动到终端窗口中。终端将把路径粘贴到其中。3.按回车键。您的工作目录现在设置到了正确的位置,您可以在这里测试Lauri的行,这将是步骤4。顺便说一句,我在Lauri的回答中添加了一条注释,以防您从未使用Terminal.app,但想尝试这一行。我打赌它很快。如果可能的话,你应该避免使用Finder。这个答案的结构与我的答案非常相似。但是,我的答案使用了更快的系统事件和推荐的方法。
set sourceFolder to alias "SSD:Users:JPCanaverde:Documents:A"
set destinationFolder to alias "SSD:Users:JPCanaverde:Documents:B"
tell application "Finder"
   repeat with aFolder in (get folders of destinationFolder)
       set folderName to name of aFolder
       set filesToMove to (files of sourceFolder whose name begins with folderName)
       move filesToMove to (contents of aFolder)
   end repeat
end tell