批處理(Bat)批量解壓文件夾并提取及合并文件
工作或者學習中,有時候需要從多個壓縮文件夾中提取多個文件夾的文件,此時若是手動解壓文件夾并逐個從解壓后的文件夾復制,則較為費時費力,此時可以利用批處理的便捷性來批量處理這些目標文件夾,并且提取到文件夾中的文件。
如下圖所示,有1.rar和2.rar兩個壓縮文件夾,每個文件夾下還有子文件夾和文件,子文件夾里面也有文件,需要提取所有文件夾下的含OV538字符串的文件。
上圖市=是壓縮文件夾1.rar中的文件,2.rar壓縮文件中也是類似的情況。
此時,可以新建Test demo.txt文本文件,將下述代碼復制到文本中,并將文件后綴改成.bat即可。然后雙擊腳本即可開始運行,打開解壓界面,需要shift鍵批量選中待解壓文件,然后點擊提取,確定,等待解壓結束,解壓完成后關閉解壓文件窗口,腳本會繼續(xù)運行,直至運行結束。(復制代碼到文本中,為避免腳本運行錯誤建議去掉所有注釋字段)
@echo off setlocal enabledelayedexpansion ::設置變量延遲 set "rar=C:\Program Files\7-Zip\7zFM.exe" ::設置7-Zip問解壓文件路徑 "%rar%" x-y "%%i" "%%~dpi">nul ::選中待解壓文件提取文件 echo @@@@@ Please wait a moment @@@@@ :: for循環(huán)遍歷含OV538字符的文件名稱 for /r %%a in (OV538*) do ( ::若不存在Target file文件夾則新建該文件夾 if not exist "Target file" md "Target file" ::將遍歷到的文件復制到Target file文件夾中 xcopy/y "%%a" "Target file\" >nul ); ::將當前路徑下Target file的所有txt文件內容合并到Target.txt文件中 copy ".\Target file\*.txt" ".\Target file\Target.txt" >nul echo @@@@@ Done @@@@@ time /t 2>nul ::倒計時2s exit ::退出cmd命令
腳本運行結果如下,成功地將所有文件夾下的含OV538字符串地txt文件提取到Target file文件夾中,并且將所有txt文件還合并成Target.txt文件,便于后續(xù)批量對提取的txt文件結果進行處理。
上述代碼實際上時調用了7-Zip這個解壓文件,并利用其批量解壓縮,然后用for遍歷所有文件夾及子文件夾,提取目標文件,最后還將所有txt文件合并成一個新的txt文件。
到此這篇關于批處理(Bat)批量解壓文件夾并提取及合并文件的文章就介紹到這了,更多相關批處理批量解壓文件夾內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
批處理統(tǒng)計詞頻實現代碼(統(tǒng)計重復行的數量/每行重復出現的次數)
這篇文章主要介紹了批處理統(tǒng)計詞頻實現代碼(統(tǒng)計重復行的數量/每行重復出現的次數),需要的朋友可以參考下2021-09-09DOS比較運算符(LSS,LEQ,GTR,GEQ,EQU,NEQ)
這篇文章主要介紹了DOS比較運算符(大于、小于、等于)等,主要是用于判斷文件日期大小等,方便后續(xù)操作2021-09-09批處理僅允許在指定電腦computername上執(zhí)行的代碼
這篇文章主要介紹了批處理僅允許在指定電腦computername上執(zhí)行的代碼,需要的朋友可以參考下2023-07-07