.BAT我有一個使用1%一個內部文件的build.bat ...所以你可以稱之爲:讀取命令行參數,從文件
建設1.23
我想它閱讀從一個單獨的文件中的參數,所以我想在version.txt把「1.23」和做:
構建< version.txt
但它不起作用。這不是管道的工作原理嗎?是我想要的,如果是的話,怎麼樣?
.BAT我有一個使用1%一個內部文件的build.bat ...所以你可以稱之爲:讀取命令行參數,從文件
建設1.23
我想它閱讀從一個單獨的文件中的參數,所以我想在version.txt把「1.23」和做:
構建< version.txt
但它不起作用。這不是管道的工作原理嗎?是我想要的,如果是的話,怎麼樣?
在DOS命令FOR
具有分析文件,併爲其分配發現令牌的形式到變量,然後可以將其用作其他批處理文件的參數。假設version.txt
包含單行「1.23」,該批處理文件將打開它,將1.23賦值給該變量,然後調用您的原始批處理文件,並將該變量的值作爲命令行參數傳遞。
@echo off
for /f %%i in (version.txt) do call build.bat %%i
如果version.txt
包含一個以上的線,build.bat
對各行調用一次。在DOS提示符下鍵入help for
,查看可能可以使用的其他功能。
我認爲如果處理批處理文件中的文件處理,那麼version.txt編輯不正確的可能性會更大。
如果執行.bat文件,你應該修改你的腳本來解析文件以獲取版本:
build FILE version.txt
我不明白你的答案的後半部分是什麼意思 – 2010-06-02 10:34:26
我的意思是隻改變處理命令行參數的.bat文件的開始,以解析文件version.txt,如果.bat腳本像那樣執行的話。在我看來,這將得到你想要的,同時保持清晰 – 2010-06-02 11:00:14
你所做的事情就是你將version.txt的內容傳遞給build命令/可執行文件的標準輸入。那是你想要做什麼?這與將參數傳遞給命令不同,因爲程序必須以不同的方式處理它。 – 2010-06-02 10:21:36
@ mr.b是的我想將version.txt的內容作爲命令行參數傳遞,所以build不必根本改變。這可能嗎? – 2010-06-02 10:27:30