一次轉換大量檔案
告別手動重複操作
使用鍵盤 ← → 或點擊按鈕翻頁
💡 從手動一個一個轉,進化到一次轉完所有檔案!
想要把所有 .md 檔案都轉成 .docx 該怎麼做?
開啟終端機 Ctrl + `
💡 使用專門的資料夾練習,避免影響其他檔案
✅ 這會建立 test1.md、test2.md ... test5.md
你應該會看到:
對每一個檔案,執行一次 Pandoc 指令
ForEach-Object - 對每個物件執行動作
Get-ChildItem *.md - 取得所有 .md 檔案| - 管道,傳遞給下一個指令ForEach-Object - 對每個檔案執行$_.Name - 當前檔案名稱$_.BaseName - 不含副檔名的名稱你應該會看到:
🎉 5 個檔案一次全部轉換完成!
⚠️ -Recurse 會搜尋所有子資料夾
使用時請確認範圍,避免意外轉換不需要的檔案
| 問題 | 原因 | 解決方法 |
|---|---|---|
| 沒有任何輸出 | 資料夾內沒有 .md 檔案 | 確認在正確的資料夾 |
| 檔名有空格報錯 | 路徑需要引號 | 使用雙引號包住路徑 |
| 中文檔名亂碼 | 編碼問題 | 確保 UTF-8 編碼 |
| 部分檔案失敗 | 檔案內容有問題 | 單獨檢查該檔案 |
💡 使用 FullName 取得完整路徑,再用引號包住
| 用途 | 指令 |
|---|---|
| MD → DOCX | gci *.md | % { pandoc $_.Name -o ($_.BaseName + ".docx") } |
| MD → HTML | gci *.md | % { pandoc $_.Name -o ($_.BaseName + ".html") } |
| DOCX → MD | gci *.docx | % { pandoc $_.Name -o ($_.BaseName + ".md") } |
💡 gci 是 Get-ChildItem 的縮寫
💡 % 是 ForEach-Object 的縮寫
D:\批次練習資料夾內應該有 3 個 .md 和 3 個 .docx 檔案
🔒 輸入密碼查看答案
下一單元:建立自動化腳本 📜