🔧【新手也能懂】Windows 批次檔怎麼執行 Python?一個錯誤日誌完整解析教學
👋 前言:當你用 .bat 執行 Python
卻出錯了?
很多自動化工作流程都會透過 Windows 的批次檔(.bat)來快速執行程式,尤其是當你有一個 Python
程式要每天跑資料、整理報表、抓測試數據等等。
但如果遇到錯誤訊息像是:
就代表「檔案根本找不到」!本文就帶你一步一步看發生什麼事、該怎麼改。
🔍 問題背景:一個常見的批次檔工作流程
假設你有一個資料夾,放了以下這些檔案:
批次檔內部的指令如下(簡化後):
❗ 問題出現原因是什麼?
從錯誤訊息可得知:
雖然我們「以為」Python 執行檔會在目前路徑中找到
ftldr20230816.py,但事實上執行時的「工作目錄」不一定正確(例如你從其他地方右鍵執行 .bat)。
✅ 解法:用絕對路徑或動態取得目錄
🛠 改法一:加入 cd /d 轉換目錄
說明:
-
%~dp0:是 Windows 批次檔的「神奇變數」,代表目前.bat檔所在的完整路徑。 -
cd /d "%~dp0":確保切換到那個資料夾,即使在不同磁碟機(例如 D:\、E:\)也沒問題。 -
%errorlevel%:回報 Python 執行結果(0 是成功)。
🧪 測試:確保路徑與檔案都存在
請確認以下三件事:
-
ftldr20230816.py真的在D:\Asmedia\ftstdf\裡 -
你
.bat是從正確位置執行的(推薦直接雙擊) -
Python 已安裝,且路徑設定正確(你可試著執行
python --version)
📌 延伸技巧:如何快速知道 Python 路徑?
可以在 PowerShell 輸入:
或是查看 bat 中用的路徑是否正確,例如:
也可用
%PYTHON_EXE% --version 測試。
🧠 結語:路徑是所有自動化的起點
本次錯誤的根本原因,就是
批次檔沒有明確告訴 Python 該去哪找腳本。透過
%~dp0
就能保證執行環境一致,不怕換位置或換機器。
掌握這個技巧,你就能打造出可靠的批次檔自動流程。
留言
張貼留言