批處理檔案的應用 批量壓縮

2023-01-08 19:45:02 字數 1838 閱讀 5738

我經常在電腦上看漫畫,自從用了mangameeya後,通常都把**下來的漫畫壓縮為rar檔案。這樣有幾個好處,一是節省空間,二是在電腦中,對乙個檔案的處理速度要快於多個檔案,複製貼上就是乙個例子,很多人應該都是感受,明明所複製的檔案容量不大,只是數量很多,速度卻比容量大一些,數量少的時候要慢。刪除也是,我在重灌後刪除以前留下的matlab時,光是準備就要很久。

而我那有幾十g的**資料夾,卻兩三秒就刪乾淨了。

**漫畫一般除了個verycd上直接**的壓縮檔案,就是使用mangadowner,它**下來的是**。以前我**的漫畫不多,壓縮倒也不麻煩,前段時間把以前**的漫畫和新**的漫畫放在一些,發現未做成壓縮檔案的有很多。我通常用乙個資料夾放一捲,現在有幾百個資料夾,我要把乙個資料夾做乙個壓縮檔案(太多**壓縮在一起也會影響mangameeya的讀取速度)。

這要是乙個個壓縮真得點滑鼠點到手抽筋了。比如說,我要把左圖的資料夾變成右圖的rar檔案。

於是我從網上找批量壓縮用的軟體,倒是找到了,不過試用了才發現是用來將乙個檔案同時新增到多個壓縮檔案中用的,不是我需要的功能。繼續搜尋此類軟體但還是沒有找到。我就想到了用dos命令列來批量壓縮。

我只是感覺用dos命令列可以,但不知道怎麼做。於是又搜尋教程,這網上倒是很多,學起來也很快,我很快便搞定了。現在總結一下方法。

因為以後會經常使用,所以建立乙個bat檔案。可以新建乙個txt檔案,將副檔名改為bat就行。

右鍵點選bat檔案,選編輯。輸入下列文字。

@echo off

for /d %%c in (*) do (

rar a %%c %%c

if errorlevel 0 rmdir /s%%c

)儲存,將這個檔案和要壓縮的資料夾們放於同一目錄,執行即可。(注意!前提是將winrar安裝資料夾加入環境變數。

如果不會新增環境變數,就將這句話裡的rar改為path\其中path是winrar的安裝路徑,如c:\program files\winrar\ a %%c %%c,請務必保證這個命令存在,否則即使沒壓縮也會刪掉資料夾,我懶得寫乙個更安全的bat檔案了.....)

對以上命令的解釋:

第一行的@echo off 沒有太大作用,只是讓下面的命令執行時不在視窗上顯示。

第二行的for就是重點了。for大家都知道,和c語言等程式語言一樣,是迴圈。/d %%c in (*)表示遍歷所有的資料夾(不包括子資料夾)。

如果沒有/d則是遍歷所有的檔案(不包括資料夾)。%%c裡的c是個迴圈變數名,就像c語言裡常用的i一樣,它可以是任意字母,但只能是乙個字母,兩個%不可少。in (*)裡的*表示所有,是萬用字元,這裡可以打檔名,比如我們要壓縮以烏龍開頭的資料夾,就可以寫成in (烏龍*)。

do後括號裡的語句就是迴圈體了。

rar是乙個命令,我們可以在winrar的安裝資料夾裡找到程式。如果不會新增環境變數,就將這名話裡的rar改為path\其中path是winrar的安裝路徑。rar命令(因為是稱為程式也行)後的a是引數,表示建立rar檔案。

後面跟了兩個%%c,第乙個是建立的rar檔案的名字,第二個是被壓縮的檔案的名字。這一行的意思就是將乙個資料夾壓縮為與它同名的rar檔案。

if errorlevel 0是判斷上乙個命令(在這裡就是的執行結果是否是0,我從rar的幫助中查到,執行結果返回0則表示壓縮成功。rmdir是刪除資料夾的命令,/s表示除目錄本身外,還將刪除指定目錄下的所有子目錄和檔案。用於刪除目錄樹。

如果再加上/q,就表示不提示,沒有/q的話,每次刪除都會詢問是否確定刪除。這一行的意思就是如果壓縮成功,就刪除被壓縮的資料夾。

下面是執行時候的截圖,執行完這個視窗自己就關閉了。

通過這次學習批處理命令,我深深感覺到它的方便之處。目前windows的缺點便在於不能隨意定製命令或功能。批處理在一定程度上解決了這個問題。

批處理檔案經典

批處理檔案經典.txt 批處理檔案字尾是bat的檔案就是批處理檔案,是一種文字檔案。簡單的說,它的作用就是自動的連續執行多條命令,批處理檔案的內容就是一條一條的命令。那它有什麼用呢?比如,在啟動wps軟體時,每次都必須執行 c cd wps c wps spdos c wps py c wps wb...

PHOTOSHOP批處理檔案

一 首先我們得製作自己需要的動作命令 第一步,先開啟photoshop,選中 視窗 動作 命令,開啟動作命令視窗。此時,動作命令欄裡只有預設命令序列和一些預設動作。第二步,執行 檔案 開啟 動作,任意開啟一張 單擊動作命令欄 建立新動作 快捷命令圖示,此時就會在 預設動作 的序列下建立新動作,出現如...

如何用SQL生成SQL批處理檔案

軟體環境 1 windows nt4.0 oracle 8.0.4 2 oracle安裝路徑為 c orant 問題提出 1 使用者需要對資料庫使用者下的每一張表都執行乙個相同的sql操作,這時,一遍 一遍的鍵入sql語句是很麻煩的 實現方法 sql set heading off 禁止輸出列標題 ...