【问题标题】:Applescript command to move files in current folder with *.extension to the folder with Name inside this folderApplescript 命令将当前文件夹中带有 *.extension 的文件移动到该文件夹​​中带有名称的文件夹
【发布时间】:2017-06-09 10:05:56
【问题描述】:

我是脚本方面的新手。你能帮忙吗:

我需要将当前(选定)文件夹中带有 *.extension 的文件移动到当前(选定)文件夹中带有名称的文件夹中。

例如:将文件夹 1 中的所有 .zip 文件移动到文件夹 1 中的 ZIP 文件夹。但我需要将其用作服务(例如:选择文件夹 1,控制 + 单击“将所有 zip 移动到 ZIP” )

谢谢大家!

【问题讨论】:

  • 伙计,我在脚本方面完全是 0(我是一名平面设计师),所以我尝试了这个(我试图在 Google 中找到一些信息)
  • 告诉应用程序“Finder”将 theSel 设置为选择 告诉应用程序“终端”将 theFol 设置为 POSIX 路径((theSel 的第 1 项)作为文本)如果(窗口计数)不为 0,则执行脚本 "mv " & theFol & "/*.zip ~/ZIP" & theFol & ";clear" 在窗口 1 中的引用形式 else do script "mv *.zip ~/ZIP" & theFol & 引用形式";clear" end if activate end tell

标签: macos terminal applescript


【解决方案1】:

更新的答案 - 更加自动化并带有上下文菜单/项目
您可以将上下文项添加到 Finder 的菜单 (Finder > Services),该菜单仅在您选择了一个文件夹(您要从中移动文件的文件夹)时出现。

这就是您'会看到你何时选择了一个文件夹:

按照这些步骤操作
1. 打开“Automator”应用程序。 (command + spacebar & type ""Automator" 来查找)
2. 按“新建文档”(左下角),如果不显示,只需执行命令 + n
3. 选择“服务”(带有齿轮图标的服务)并按 Enter。

4. 在顶部栏中选择这些选项,如下所示:

  1. 在搜索字段中,输入“运行 AppleScript”
  2. 拖到右边空白处:


7. 删除其中的所有脚本并粘贴到我的脚本中:

on run {input, parameters}
    set fromFolder to item 1 of input
    -- Choose the file extension to be moved
    set fileExtension to text returned of (display dialog "Please enter the file extension you want to move." default answer "zip")
    -- This will put the files in a folder inside your selected folder with the name of the file extension
    -- e.g. move txt files in Kamil:Desktop:TextStuff will move it into Kamil:Desktop:TextStuff:txt
    -- Change it to what suits your needs
    set toFolder to fromFolder & fileExtension as string

    -- Finder will handle the moving of files
    tell application "Finder"

        set filesMoved to (every file of folder fromFolder whose name ends with fileExtension)
        move filesMoved to folder toFolder

        display notification "Into \"" & toFolder & "\"" with title "Moved " & (count of filesMoved) & " " & fileExtension & " files"

    end tell

end run

7。按 command + s 并为其命名您想要的名称,然后按保存。
8. 现在退出 Automator


现在打开一个Finder窗口并选择一个文件夹,其中创建了一个文件夹,命名为您将排序的文件扩展名;转到Finder > Services > [What you named it]
输入文件扩展名并按回车键。

您应该会在完成移动文件时看到一条通知,告诉您移动了多少文件以及移动到了哪个文件夹。

我希望这能更好地回答您的请求,如果可以,请不要忘记将其标记为答案,否则,请发表评论,我会看看我能做什么。

【讨论】:

  • 非常感谢!这是一个有趣的决定,但它需要太多时间(我的意思是我可以通过在 Finder 中按种类排序来选择所有 zip 并将其拖到目标文件夹)我需要它更自动化。无论如何,非常感谢您的帮助!
  • 好的。我重新阅读了您的问题,并且想澄清一下,您是否希望对文件夹路径进行硬编码(这意味着它们不会改变,它们将始终位于同一位置)?如果是这样,我可以更改我的脚本,而您无需选择文件夹。
  • 实际上,我想我知道一种可以更好地自动执行此任务的方法。一个小时左右我不忙的时候,我会更新我的答案。
  • @ArtemDemidenko 我已经更新了我的答案,希望它能满足您的要求。
  • 天啊,非常感谢!它现在真的对我有用。谢谢你的回答你是脚本之王! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
  • 1970-01-01
相关资源
最近更新 更多