使用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盘下吧

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

11 使用WScript批量解压缩 function  getFiles(Folder)
12 使用WScript批量解压缩 {
13使用WScript批量解压缩    return new Enumerator(Folder.Files);
14使用WScript批量解压缩}

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

25使用WScript批量解压缩    WshShell.run(rar_exe+" e \"" + file_path +"\" " + to_e_dir,0,true);
26使用WScript批量解压缩}

3)运行 WScript C:/rar.js

你可能感兴趣的:(script)