執行 Windows CMD 迴圈

讓工作流程自動化

wyatthoho
Feb 2, 2023
Photo by Muhammad Asyfaul on Unsplash

【前言】

使用微軟 cmd 的 for 迴圈能讓工作流程更加自動化。根據微軟官方文件,其語法為:

for {%% | %}<variable> in (<set>) do <command> [<commandlineoptions>]

以下進行一個簡單的示範。

【示範】

假設我在 D:\test 資料夾底下有另外六個資料夾,如下。

. (D:\test)
+-- A_1
+-- A_2
+-- A_3
+-- B_1
+-- B_2
+-- B_3

我希望將工作路徑依序切換到這六個資料夾的位置,於是我寫了一個附檔名為 bat 的批次檔 (batch file) ,內容如下。

set firstNames=A B

for %%i in (%firstNames%) do (
for /l %%j in (1, 1, 3) do (
cd D:\test\%%i_%%j
)
)
pause

第一行是用 set 建立一個環境變數 firstNames 裡面存放 AB 兩個英文字母。第一層迴圈用 i 這個名稱來迭代 firstNames 的內容。第二層迴圈的選項 /l 代表 (1, 1, 3) 指的是等差數列,其格式為

(<start#>, <step#>, <end#>)

並用 j 來進行迭代。最後用 cd 來切換工作路徑,而 pause 是為了讓程式執行完不要自動把 cmd 視窗關掉。

執行此 .bat 的結果如下 ~

成功使用 for 迴圈切換工作路徑

--

--

wyatthoho

在混亂的宇宙裡,我透過寫程式來認識秩序並建立安定。wyatthoho@gmail.com