吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 868|回复: 6
收起左侧

[求助] 一段图片重命名的代码,运行完后如何自动关闭cmd窗口,求指教。

[复制链接]
jiguang055 发表于 2024-5-21 10:19
const { readdirSync, readFileSync, renameSync } = require('node:fs');
const { join } = require('node:path');

const RUNTIME_CWD = process.cwd();
const NAMES_FILENAME = `人名.txt`;
const ABSOLUTE_NAMES_FILENAME = join(RUNTIME_CWD, NAMES_FILENAME);
const RENAME_NUMBER = 10;

function filterJPGFile(name) {
    return /\.jpg$/.test(name);
}

(async () => {
    let fsStatNames = readdirSync(RUNTIME_CWD);

    if (!fsStatNames.find(str => str === NAMES_FILENAME)) {
        console.log(`未找到文件[${NAMES_FILENAME}]`);
        return;
    }

    let jpgFilenames = fsStatNames.filter(filterJPGFile),
        withoutExtNames = jpgFilenames.map(str => str.replace(/\.jpg$/, '')),
        namesSet = new Set(withoutExtNames),
        names = readFileSync(ABSOLUTE_NAMES_FILENAME).toString().split('\n').map(str => str.trim()).filter(str => str),
        files = fsStatNames.filter(str => /\.jpg$/.test(str));

    if (names.length !== RENAME_NUMBER) {
        console.log(`人名数量不等于${RENAME_NUMBER}个`)
        return;
    }


    if (files.length !== RENAME_NUMBER) {
        console.log(`图片数量不等于${RENAME_NUMBER}个`)
    }

    for (const name of names) {
        if (namesSet.has(name)) {
            console.log(`存在重命名情况`)
            return;
        }
    }

    for (let i = 0; i < RENAME_NUMBER; i++) {
        renameSync(join(RUNTIME_CWD, files[i]), join(RUNTIME_CWD, names[i] + '.jpg'))
    }

    console.log(`命令执行结束`)
})();

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

本路人 发表于 2024-5-21 10:33
加一句process.exit(0);
hellopolly 发表于 2024-5-21 10:52
我看不懂。我现在自己做的是在excel表格里面,写的vba,批量重命名,
带头大哥Even 发表于 2024-5-21 11:19
Kali小弟弟 发表于 2024-5-21 13:49
用python就舒服多了
kittylang 发表于 2024-5-21 20:38

用啥语言也不会默认自动关闭啊
pengshuangyu 发表于 2024-5-29 15:31
昨天还在找来着
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 00:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表