2017-08-23 262 views
0

我需要附加到另一批處理腳本中的特定行。我怎樣才能做到這一點?這在.bat中是微不足道的,還是我會更好地使用Python。我知道更多的Python比我做的.bat。批處理腳本編輯另一批處理腳本

我在設置路徑的.bat中有一行。

它看起來像set path=%TEST_ROOT%\bin;%WINDIR%\system32;

我需要找到這一行和粘性上的其他環境變量進行到底。我可以用Python做,但寧願做.bat。

所以,我正在尋找將這種

​​
+0

使用環境變量要輸出'%ADDTHISVAR%'字面上之前只設置一個環境變量,雙'% '-signs like'echo/%% ADDTHISVAR %%';對於整體任務,使用['for/F'循環](http://ss64.com/nt/for_f.html)遍歷另一個批處理文件的行;在循環體中,可以執行['if'comparison](http://ss64.com/nt/if.html),或者可以使用['find'](http://ss64.com/nt /find.html)或['findstr'](http://ss64.com/nt/findstr.html)來搜索您要修改的特定行... – aschipfl

回答

-1

你可以做的是讀取文件的每一行,並同時把它們寫出來,以一個新的臨時文件(或持有它在內存中)。檢查每行是否不是set path=%TEST_ROOT%\bin;%WINDIR%\system32;,如果是,請在將它寫入臨時文件之前將其附加到它。然後用temp文件替換或覆蓋現有的文件。

但是,下次嘗試運行腳本並搜索該行時,它將已經有%ADDTHISVAR%,因此您需要檢查它是否已經存在。

你可能會更好運行的.bat文件,並具有通過批處理文件代替%ADDTHISVAR%