• 使用WScript批量解压缩


    今天用一台装windows的机器从eMule下了些音乐下来,几十个压缩包,手工解压缩太麻烦。想批量解压缩,不知道是不是winrar没有这个功能,反正我是没在winrar里找到批量解压缩的功能。于是找找资料,写了一个WScript脚本来批量解压缩。有人问我为什么不用Linux来下载解压缩,没办法,谁叫大家都用rar压缩,在我的机器上,linux解rar出错率在10%左右。不知道是不是rp。

    使用方法:
    1)把C:\Program Files\WinRAR\Rar.exe复制一份到系统文件夹下(如:C:\WINDOWS)
    2)把下面的代码保存为rar.js,假设保存到c盘下吧

     1var fso = WScript.CreateObject("Scripting.FileSystemObject");
     2var archive_dir = "C:\\Program Files\\eMule\\Incoming\\beyond";//压缩文件存放路径
     3var to_dir = "E:\\music";//解压缩到这里
     4var rar_exe = "Rar.exe";//解压缩工具
     5var get_name_pattern  = /SurfChen\.\-\.\[([^\]]*)\]/;//获取文件名字的正则
     6var number_of_pattern = 1;//名字在返回的正则匹配中的位置
     7if (fso.FolderExists(archive_dir)==false{
     8    WScript.Echo("folder does not exists");
     9    WScript.quit(1);
    10}

    11function getFiles(Folder)
    12{
    13    return new Enumerator(Folder.Files);
    14}

    15var WshShell = WScript.CreateObject("WScript.Shell");
    16var my_folder = fso.GetFolder(archive_dir);
    17var my_files = getFiles(my_folder);
    18for    (my_files.moveFirst();!my_files.atEnd();my_files.moveNext()) {
    19    file_path    = new String(my_files.item());
    20    file_name_rs = file_path.match(get_name_pattern);
    21    to_e_dir = to_dir+"\\"+file_name_rs[number_of_pattern];
    22    if (fso.FolderExists(to_e_dir)==false{
    23        fso.CreateFolder(to_e_dir);
    24    }

    25    WshShell.run(rar_exe+" e \"" + file_path +"\" " + to_e_dir,0,true);
    26}

    3)运行 WScript C:/rar.js
  • 相关阅读:
    C语言基础---字符指针变量和字符数组的区别
    C语言基础---编写C语言代码过程中易忽略的点
    C语言简介---通过指针引用多维数组
    C语言基础---特殊的变量类型(结构体、枚举、共用体)
    C语言基础---指针简述
    C语言基础---C语言中的变量与内存空间的关系
    嵌入式开发中常用到的C语言库函数
    SVN使用---简介
    视频编解码相关基础知识(二)---H.264简介
    MybatisPlus MetaObjectHandler 配置
  • 原文地址:https://www.cnblogs.com/meil/p/620828.html
Copyright © 2020-2023  润新知