為什麼批次檔執行的行與其包含的行不同

為什麼批次檔執行的行與其包含的行不同

我在bat檔中輸入了這一行(暫停只是為了看看輸入了什麼)

    start my_program -m y -f %s_%d_fix -z n
    pause

它最終運行這個

    start my_program -m y -f d_fix -z n

正如你所看到的 %s_% 部分被刪除,
我嘗試尋找 % 是否導致以不同的方式讀取行,但是在 cmd 中輸入時,
啟動的程式得到不正確的參數,對此有什麼想法嗎?謝謝。

答案1

Windows Cmd 和 MS-DOS Command.com 用來%指示環境變數。在您的情況下,%s_%被解釋為變數擴展(充當s_變數的名稱),並擴展為空字串。

若要保持%符號不變,請使用%%s_%%d_fix.

相關內容