使用WScript批量解壓縮

來源:互聯網
上載者:User

今天用一台裝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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.