V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tyhunter
V2EX  ›  问与答

请教下这种场景怎么实现批量重命名的问题

  •  
  •   tyhunter · Oct 20, 2021 · 1378 views
    This topic created in 1660 days ago, the information mentioned may be changed or developed.
    大概有 3K 的文件夹,文件夹名称不一样,但每个文件夹下面各有一个 1.mkv 的文件
    结构大概如下:
    文件夹
    - A
    - 1.mkv
    - B
    - 1.mkv
    - C
    - 1.mkv


    现在想让每个文件夹下面的 1.mkv 重命名为文件夹的名称,即文件夹 A 下面的 1.mkv 重命名为 A.mkv ,同时批量操作 3K 个任务,想知道怎么实现会方便一点
    Supplement 1  ·  Oct 20, 2021
    用 XYexploer 解决了,在所有文件夹界面运行如下脚本
    setting "BackgroundFileOps", 0;
    $list = "";
    foreach($file, folderreport("files", "r", , "r", , "<crlf>"), "<crlf>") {
    $newName = replace(gettoken($file, -2, "\"), ":") . "." . getpathcomponent($file, "ext");
    $newName = renameitem($newName, $file, , "-01");
    if ($newName) { $list = $list . "Src: $file<tab 2>Dst: $newName<crlf>"; }
    }
    text $list;
    4 replies    2021-10-21 01:50:12 +08:00
    eason1874
        1
    eason1874  
       Oct 20, 2021
    用啥都方便,shell 、批处理、甚至是 PHP 都行,PHP 用迭代器遍历文件也是很快的
    NillSpake
        2
    NillSpake  
       Oct 20, 2021
    python rename 直接撸
    sutra
        3
    sutra  
       Oct 20, 2021   ❤️ 2
    find . -name '1.mkv' | awk -F '/' '{system("mv "$2"/"$3" "$2"/"$2".mkv")}'
    luckyx
        4
    luckyx  
       Oct 21, 2021
    for folder in `ls`
    do
    cd $folder
    cp 1.mkv A.mkv
    rm 1.kmv
    cd ..
    done
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   972 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 19:13 · PVG 03:13 · LAX 12:13 · JFK 15:13
    ♥ Do have faith in what you're doing.