想在 VB6 中用 Shell 執行 mkdir %LOGPATH%,但 %LOGPATH% 是 VB 變數,非環境變數,無法直接在命令字串中展開。
Shell "cmd /k mkdir %LOGPATH%", vbNormalNoFocus ' ❌ %LOGPATH% 會被當成字面字串
Dim logPath As String
logPath = "C:\MyLogs\20240115" ' VB 變數
Shell "cmd /k mkdir """ & logPath & """ > nul 2>&1", vbNormalNoFocus
%...% 是 **批次檔(.bat)變數** 語法,VB 字串中無特殊含義。""" & path & """。> nul 2>&1 抑制輸出訊息(可選)。vbHide 取代 vbNormalNoFocus。若 LOGPATH 是系統環境變數,VB 可用 Environ$("LOGPATH") 讀取:
Shell "cmd /k mkdir """ & Environ$("LOGPATH") & """", vbNormalNoFocus