V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DylanZ
V2EX  ›  问与答

如何实现 macOS 下的批处理:新建和文件同名的文件夹,并移入

  •  
  •   DylanZ · 2022-04-28 23:18:27 +08:00 · 1161 次点击
    这是一个创建于 931 天前的主题,其中的信息可能已经有所发展或是发生改变。
    文件内容:王大锤 1 ,王大锤 2 ,李寻欢,谢小萌 1 ,谢小萌 2 ,谢小萌 3
    需要分别新建 3 个文件夹:王大锤,李寻欢,谢小萌,并移入各自文件,请问使用自动操作可以实现吗?
    第 1 条附言  ·  2022-04-29 09:58:59 +08:00
    如果有大佬可以提出使用 macos 自带的自动操作 App ( Automato )实现的解决思路是最好的,因为对代码不是很懂,非常感谢
    13 条回复    2022-05-03 02:14:29 +08:00
    volvo007
        1
    volvo007  
       2022-04-28 23:53:55 +08:00 via iPhone   ❤️ 1
    py go 随便写一个就行吧。蹲一个大佬,明早没人回复我就写一个
    chonger
        2
    chonger  
       2022-04-29 00:57:12 +08:00   ❤️ 1
    可以考虑用 hazel ,不懂编程也能达到一样的效果。
    iSteven
        3
    iSteven  
       2022-04-29 01:14:46 +08:00
    写一个 AppleScript
    arch9999
        4
    arch9999  
       2022-04-29 03:03:21 +08:00   ❤️ 1
    https://sm.ms/image/a6TyPOsAb3F4xXz

    什么语言都可以吧,这是 pwsh
    QingStone
        5
    QingStone  
       2022-04-29 07:45:42 +08:00 via iPhone
    蹲一个
    ruidoBlanco
        6
    ruidoBlanco  
       2022-04-29 08:55:13 +08:00   ❤️ 1
    macOS 默认是 zsh 。下面的需要开启 extended_glob 才能用。

    假设文件名是王大锤 1 ,建文件夹王大锤

    for i in *(.); do dir=${i%%<->##}; mkdir -p $dir; mv $i $dir/; done

    不明白自己 man zshexpn
    DylanZ
        7
    DylanZ  
    OP
       2022-04-29 09:50:08 +08:00
    @volvo007 大佬,等了一夜就是你了🐶
    DylanZ
        8
    DylanZ  
    OP
       2022-04-29 09:50:31 +08:00
    @chonger 谢谢,正在研究这个软件
    DylanZ
        9
    DylanZ  
    OP
       2022-04-29 09:51:35 +08:00
    @arch9999 感谢分享,我不太懂代码,研究一下
    ysc3839
        10
    ysc3839  
       2022-04-30 03:02:40 +08:00 via Android
    macOS 有自带 Automator ,也许可以实现?我没用过,不太清楚。
    volvo007
        11
    volvo007  
       2022-05-02 13:57:51 +08:00   ❤️ 1
    @DylanZ 来晚了来晚了, 我也不知道之前大佬什么时候提交的. 我是 go 小白选手, 随便写了个能用的但是远不及 LS 大佬的简单

    代码放这了 https://pastebin.com/bXZNA9D1 有效期 7 天. 但我感觉写得很烂…… 仅供参考哈哈. 我这个显然是单线程的, 如果文件很多, 大佬们应该可以随便写多线程的
    volvo007
        12
    volvo007  
       2022-05-02 14:03:47 +08:00   ❤️ 1
    唔, 上面忘了说. 用的时候跟一个 -p 参数加路径, 就可以把这个路径下面的所有文件遍历并放到对应文件夹内
    例如 `dealer.go -p ~/Desktop/zhangsan`
    如果上面大佬的命令行可用, 估计你也是在类 unix 环境下了, 文件夹权限控制应该问题不大
    DylanZ
        13
    DylanZ  
    OP
       2022-05-03 02:14:29 +08:00
    @volvo007 非常感谢大佬!🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:26 · PVG 15:26 · LAX 23:26 · JFK 02:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.