Windows 系統中使用 .cmd 指令進行檔案管理的範例

最後更新: 15/12/2025
作者: 艾薩克
  • 使用 命令 CMD 文件和資料夾管理的基本和高級方法 Windows.
  • 使用 .cmd 批次檔和 FOR 迴圈實現自動化的實際範例。
  • CMD 和終端機中文件管理任務的區別 Linux.
  • 與文件管理配合使用的關鍵診斷和系統命令。

CMD 終端機及其文件管理範例

如果您經常處理大量文件、資料夾或項目,學習如何使用 Windows 指令和 .cmd 文件 它可以為您節省大量時間。您無需逐一點擊,即可自動執行重複性任務,例如複製、移動、重新命名、建立整個目錄結構,甚至可以從控制台執行小型系統審計。

在這篇文章中你會看到 使用 CMD 進行文件和資料夾管理的實際範例結合基本命令、更高級的命令和循環,並參考診斷工具,在相關部分還會與類別 Linux 系統上的等效命令進行比較,以便您獲得更全面的了解。其目的是讓您可以複製、修改和重複使用這些範例到您自己的 .cmd 腳本中,並學習如何使用它們。 在 Windows 中自動執行檔案任務.

CMD 中管理目錄和檔案的基本指令

CMD視窗顯示用於管理文件的命令

在深入探討腳本和自動化之前,最好先對以下內容有一個很好的理解: 基本目錄和檔案指令 你會在生活中一直用到它 命令提示 Windows操作系統。

若要瀏覽系統資料夾,您主要使用 CD 和 CHDIR兩者功能相同:顯示或變更目前目錄。典型範例如下: cd \ 探究團結的根源, cd .. 升級或 cd /d D:\Proyectos 一步即可切換驅動器和資料夾。

如果你想查看資料夾裡的內容,可以使用星號指令。 DIR沒有參數, dir 列出目前目錄及其子目錄,但需 dir /b 您只會收到簡單格式的名稱,並且 dir /a 您還將包含隱藏元素和系統元素。其他有用的修飾符有: /o 要進行排序(按名稱、大小、日期等),以及進行高級搜索,您可以使用以下工具: 即時文件搜尋.

要建立新資料夾,您需要… MD y MKDIR它們是等價的: mkdir NuevaCarpeta o md Datos\2025系統不會自動切換到該資料夾,它只會建立該資料夾,所以您稍後需要手動導航到該資料夾。 cd 如果你想參加。

當您需要刪除目錄時,您有 RD 和 RMDIR基本用途是 rmdir NombreCarpeta這僅在資料夾為空時有效。若要刪除包含所有內容的資料夾,通常會使用 rmdir /s /q Carpeta,哪裡 /s 刪除子目錄和文件 /q 避免確認。

至於單一文件,最直接的刪除指令是: (或其別名 ERASE)。您可以使用 del archivo.txt, del /q /f *.* 強制靜默刪除,即使是唯讀檔案或 del /s *.tmp 從整個資料夾結構中清除臨時檔案。

要複製文件,您可以使用 COPY用於將一個或多個檔案複製到另一個位置,例如 copy informe.docx D:\Copias要移動或重命名它們,您需要… MOVE它既可以用來更改檔案的資料夾,也可以用來為檔案命名: move viejo.txt nuevo.txt o move archivo.txt C:\Destino.

最大規模的名稱變更都是透過以下方式完成的: REN 或 RENAME它的基本形式是 ren archivo1.txt archivo2.txt但它也支援通配符,可以一次修改多個文件,我們稍後會看到它與循環結合使用。

列出、記錄和視覺化文件結構

控制台中顯示的目錄樹

管理大量內容時,常見的任務之一是: 取得檔案清單或目錄映射 用於記錄項目、編制清單或僅僅是為了獲得清晰的參考資料。

最基本的列表指令是 DIR但結合重定向功能,它就可以產生報表。例如: dir /b > listado.txt 建立一個文字文件,其中僅包含目前資料夾中所有項目的名稱。您可以套用以下篩選條件: dir *.ext /o:-s > lista_ext.txt 列出特定擴展名的檔案並進行排序。

如果您需要更直觀的結構表示,請使用以下命令 使用ASCII字元顯示目錄樹。 tree Ruta 從那時起你就能看到資料夾了,如果你加入了修飾符 /f (例如 tree C:\Proyectos /f你也會看到每個目錄中包含的文件,為了更快預覽文件,最好使用類似這樣的工具。 即時文件預覽.

這些清單對…非常有用 技術文件、電子郵件或手冊因為它們可以讓你一目了然地看到專案的組織結構,從主要資料夾到構成專案的最終文件。

  Windows 中的 NTUSER.DAT 檔案是什麼?為什麼永遠不應該刪除它?

要顯示文字檔案的內容而不開啟編輯器,CMD 提供了以下功能: 樣式。 用 type notas.txt 內容會列印到控制台。如果文件很長,通常會將其與…合併。 更多使用類似 type log.txt | more 逐頁查看內容。

由於…,CMD 還能記住先前的命令。 DOSKEY此命令允許您檢索和編輯先前的命令。它並非檔案清單命令,但結合模式重複,在建立多個類似清單時可以顯著提高您的工作效率。

使用 FOR 迴圈批次建立檔案和資料夾

當你需要創建幾十個甚至幾百個項目時,手動操作簡直是瘋了。這就是命令的作用。 用於在 .cmd 檔案中,它成為自動化任務最強大的工具之一。

一個非常有用的變體是 FOR /L它會遍歷一系列數字。例如,要建立編號文件,可以使用類似這樣的方法:
for /L %i in (0,1,10) do echo. > "%i hola.md"此指令會產生從「0 hola.md」到「10 hola.md」的檔案。如果您想要的是資料夾而不是文件,只需更改即可。 echo. >mkdir.

另一個典型例子是當你擁有 文字檔案中的名稱列表 你想把每一行轉換成一個檔案或目錄。這就是它的作用所在。 FOR /F。 例如:
for /f "tokens=*" %i in (nombres.txt) do mkdir "%i"
將為每一行建立一個資料夾 nombres.txt同樣,您也可以產生文件。 echo. > "%i.md" 在循環內部。

組織專案的一個非常實用的方法是為每個現有文件建立一個資料夾, 移入其對應的文件例如:
for %i in (*) do mkdir "%~ni" && move "%i" "%~ni"
系統會自動建立一個與檔案同名(不含副檔名)的目錄,並將檔案移到該目錄中。

FOR 迴圈也很有用,例如 合併多個文字文件 合而為一。例如:
for %i in (*.txt) do type "%i" >> salida.txt && echo. >> salida.txt
它會讀取資料夾中的所有 .txt 文件,並將它們的內容轉儲到指定位置。 salida.txt 並在它們之間添加換行符,使其更易於閱讀。

如果您希望產生的文件也包含以下內容: 每個原始文件的名稱 在修改循環內容之前,您可以先修改循環:
for %i in (*.txt) do echo %i >> salida.txt && type "%i" >> salida.txt && echo. >> salida.txt這將會得到類似於連接索引的結果。

複製、移動和複製資料夾結構

Windows 中的檔案管理不僅限於將文件從一個位置複製到另一個位置。很多時候,您還需要… 克隆整個結構、跨多個資料夾複製檔案或移動大量數據 精確。

對於簡單的複印件, COPY 效果很好: copy archivo.txt D:\Destino如果要一次複製多個文件,可以使用通配符: copy *.docx C:\Informes該命令還允許您使用 + 符號連接文件,但對於更複雜的任務,通常最好使用 FOR 循環,正如我們之前所看到的。

當您需要更強大的功能時,它就派上用場了。 XCOPY它會複製整個目錄樹。 xcopy Origen Destino /t 你只會克隆文件夾結構,不會克隆文件,而如果… /t /e 你還包含了空的子目錄。這非常適合掛載。 專案模板 或複製複雜的架構,而無需拖曳內容。

對於真正高級的複製操作,它在現代 Windows 系統中非常流行。 ROBOCOPY它支援重試、恢復中斷的備份、按日期、大小、屬性等進行篩選。一個簡單的例子是:
robocopy C:\Origen D:\Destino /E
這將複製所有文件和子資料夾,包括空資料夾。此外,為了節省空間,您還可以… 使用指令壓縮和解壓縮文件 準備複印件時,它非常理想。 資料遷移 或同步大型資料夾。

如果你想要的是 將單一檔案複製到所有子資料夾中 目錄(例如,一個 readme.txt),您可以將 FOR 與 XCOPY 結合使用:
for /D %a in (*) do xcopy /Y readme.txt "%a". 修飾符 /D 這樣一來,循環就只會遍歷目錄。

關於移動物品,該命令 MOVE 它既可用於在資料夾之間移動文件,也可用於重新命名目錄。例如:
move C:\Temp\archivo.txt C:\Datos\archivo.txt
好吧:
move CarpetaAntigua CarpetaNueva
在保持資料夾層級不變的情況下重新命名資料夾。

  Files 的優勢:Windows 檔案總管的終極替代品

批次重命名和檔案名稱操作

在CMD管理中,另一個非常常見的任務是 一次重命名多個文件例如,以統一的方式加上前綴、後綴或變更副檔名。

這裡的關鍵命令是 (或重新命名)。對於簡單的操作, ren foto1.jpg viaje1.jpg但它真正的威力在於與通配符和 FOR 迴圈結合使用。例如,要將文字追加到資料夾中的所有文件,可以使用:
for %a in (*.*) do ren "%a" "prefijo - %a".

如果您感興趣的是 添加後綴 每個文件的模式都類似:
for %a in (*.*) do ren "%a" "%~na - sufijo%~xa"
東德 %~na 表示不含副檔名的名稱, %~xa 原始擴充程式。這樣可以避免破壞擴充功能。

當您需要在多個資料夾和子資料夾中重新命名同一個檔案時,可以使用下列方法: FOR /R它會遞歸地遍歷目錄樹。例如:
for /R %G in (readme.txt) do ren "%G" "readme.md"
將搜尋所有 readme.txt 從當前目錄向下遍歷並更改它們 readme.md.

請記住,REN 僅支援名稱替換,因此如果您需要進行更複雜或基於模式的替換,則可能需要將 CMD 與其他工具或語言結合使用。 快速分類和清潔任務 REN 與 FOR 結合使用可以滿足大多數需求。

安全地刪除檔案和目錄

在任何行政工作中,總會有需要的時候… 刪除不再需要的檔案和資料夾從 CMD 正確執行此操作需要了解一些選項,以避免意外情況或不必要的確認。

對於單一文件,標準命令是 你可以不帶參數使用它,但使用參數會更方便:
del /Q archivo.log
這樣它就不會要求確認,或與 /F 如果您想要強制刪除唯讀文件,或刪除整個目錄樹中特定副檔名的多個文件, del /S *.bak 它將負責遍歷子目錄。

如果您需要刪除資料夾的內容但希望資料夾為空,您可以合併以下操作: 和為了 微調你剔除保留的內容,或從中汲取靈感 del /Q /F *.* 在所需目錄中,事先檢查是否有重要文件。

關於目錄,如前所述, RMDIR 或 RD 帶參數 /S 他們刪除了該資料夾及其中的所有內容: rmdir /S /Q C:\Temp\Antiguo。 使用 /Q 它避免了確認步驟,在自動化腳本中很常見。

雖然這些命令會刪除使用者的文件,但從底層來看,它們並非總是無法恢復的,因此在敏感環境中,建議將此清理操作與以下操作結合使用: 特定的安全擦除工具但從日常管理的角度來看,DEL 和 RMDIR 通常就足夠了。

與檔案和系統相關的高階 CMD 命令

除了純粹的檔案操作之外,Windows 命令提示字元還包含一系列實用的功能。 影響屬性、權限或資料完整性的高階命令一旦你熟悉了基礎知識,它就非常有用。

經典之作是 ATTRIB它可以顯示或修改檔案的屬性:唯讀、隱藏、系統等。例如:
attrib +r +h archivo.txt
它會將其標記為唯讀和隱藏,而用減號(-r -h你需要移除這些屬性。這可以遞歸地應用。 /S 目錄已存在 /D如需更深入檢查屬性和加密情況,請諮詢 檢查檔案屬性和加密.

檔案副檔名和檔案類型之間的關聯是透過以下方式管理的: ASSOC 和 FTYPEASSOC 將檔案副檔名(例如 .txt)與邏輯檔案類型關聯起來,而 FTYPE 將該類型與特定命令關聯起來。它們結合起來可以實現… 自訂特定文件的開啟方式 透過瀏覽器或命令列。

持證工作 NTFSICACLS此工具可產生、修改和還原存取控制清單 (DACL)。例如,您可以使用它將資料夾權限匯出到文件,然後將其恢復到另一個位置——這在伺服器或磁碟之間移動敏感資料時非常有用。

如果您懷疑有損壞的文件, 證監會 y CHKDSK 它們是你的盟友。 SFC 檢查系統檔案的完整性,並使用快取副本修復損壞的檔案;而 CHKDSK 則檢查檔案系統的邏輯結構和磁碟表面,能夠標記壞磁區並修正目錄問題。

  如何在 Windows 11 中的本機網路上的裝置之間共用文件

對於更一般的行政任務, DISKPART 它允許您透過控制台管理分割區和磁碟區。 fsutil的 它為捲和檔案系統提供了高級功能,並且 BCDEDIT 它用於修改配置 開機 Windows 系統中的某些指令雖然並非傳統意義上的檔案指令,但它們直接影響資料的儲存和管理方式及位置。

環境變數、.cmd 腳本和執行流程

當你開始寫自己的書時 批次檔 .cmd僅僅了解單一指令是不夠的:你需要控制執行流程、變數和控制台環境。

命令 SET 它允許您顯示、建立或修改環境變數。例如: set RUTA_PROYECTO=C:\Proyectos\Web 定義一個變量,然後你可以在同一個地方重複使用該變數。 腳本%RUTA_PROYECTO%為確保變更僅限於該批次範圍內,採用以下方法: SETLOCAL 和 ENDLOCAL它們以局部變數開始和結束一個部分。

IF 您可以在 .cmd 檔案中執行條件處理,例如,在複製或重新命名檔案之前檢查檔案是否存在。同時, GOTO 允許跳到腳本中的特定標籤以控制執行邏輯,並且 CALL 它用於從主批次檔呼叫其他批次檔。

要暫停腳本以等待使用者乾預,您可以使用 PAUSE它會顯示一條通用訊息,並等待您按下某個鍵,並且 ECHO 您可以使用以下方式控制螢幕上顯示的內容(包括開啟或關閉命令顯示): echo on/off).

類似命令 推力和 POPD 它們使得在批次中輕鬆切換目錄而不會丟失當前位置:PUSHD 會保存當前目錄並移動到新目錄,而 POPD 會將您返回到已儲存的目錄。這在腳本編寫過程中非常有用。 在多條不同路線之間跳躍 用於影印、列清單或清潔。

其他命令,例如 SHIFT (偏移參數), 快速眼動 (評論)或 TITLE (更改視窗標題)完善生態系統,以便建立更易讀、可重複使用和更易於偵錯的 .cmd 檔案。

對管理員有用的診斷和系統命令

雖然其主要目的是管理文件,但在日常使用中,您經常使用到 診斷命令和系統 這些腳本也可以透過 CMD 執行,非常適合添加到維護腳本中,甚至 從 CMD 列印文件.

為了全面了解這台機器, SYSTEMINFO傳回有關作業系統、處理器、記憶體、啟動時間等數據 修補程序 已安裝等等。它非常適合記錄設備資訊或進行快速審核。

在網路領域, IPCONFIG 它顯示介面訊息,包括 IP 位址、子網路遮罩和網關; NETSTAT 它教授主動連接和協定統計; Tracert的 它可以追蹤封包到特定目的地的路徑,這對於診斷連接問題非常有用。

如果您想查看正在運行的進程, Tasklist命令 列出所有正在運行的程式及其記憶體使用情況,同時 TASKKILL 它允許您透過指定進程 ID 或映像名稱來關閉進程,例如 taskkill /PID 1234.

若要找出您目前使用的 Windows 確切版本,請執行下列操作: VER不過,要獲取更詳細的信息,最好返回 SYSTEMINFO。如果您想查看已安裝的驅動程序, 驅動程序查詢 傳回包含模組名稱和控制器類型的完整清單。

關於磁碟維護,除了 CHKDSK 之外,還會出現以下情況。 DEFRAG 對機械驅動器進行碎片整理和 清潔管理器 要從控制台啟動磁碟清理,以及要安排在特定時間執行操作,您已經… Schtasks會它允許您建立、查看、修改和刪除計劃任務。

最後,如果您想直接從 CMD 關閉、重新啟動或登出,可以使用以下方法: 關斷 使用不同的參數(例如) shutdown -s -t 60 60秒後關閉或 shutdown -r 重新啟動)和 註銷 在保持電腦開機狀態下註銷目前使用者。

所有這些命令,再加上用於管理文件和目錄的命令,使您能夠構建 非常完整的 .cmd 腳本 它可以自動執行從備份和內容組織到小型系統管理和診斷任務的所有操作,從而減少人為錯誤,並大大提高日常工作效率。

使用 QuickLook 預覽未開啟的文件
相關文章:
Windows 中的檔案預覽:QuickLook、Peek 和本機面板