2010-04-17 46 views
2

我需要用戶將其定義爲如下所示的所有在一個文本文件需要我的程序的環境變量。運行putenv/SETENV使用替代

MyDLLPath = C:\ MyDLLPath
MyOption =選項1
PATH =%MyDLLPath%;%PATH%;

在我的節目我讀每一行並調用運行putenv與字符串。問題是環境替換(%MyDLLPath%)未被擴展。我猜測下面的修補程序爲
- 檢查每行的%字符。
- 獲取2個連續的%字符之間的文本。
- 呼叫GETENV使用文本
- 更換上述得到的進線值,然後調用運行putenv。

有沒有更好的方法來做到這一點?

編輯:在Windows平臺開始。將不得不做unix,但不知道如何處理替代unix語法。

+0

我想你是在Unix環境下工作? – 2010-04-17 19:44:14

+0

不,這絕對是Windows,使用反斜槓和百分比字符。 – Philipp 2010-04-17 19:56:19

+0

這篇文章的問題在於我們不確定你正在開發哪種環境,請給我們更多的信息? – senfo 2010-04-17 20:35:16

回答

2

你可以使用ExpandEnvironmentStrings

+0

+1,可以工作。儘管嚴重依賴於文件中的順序。 – 2010-04-17 21:49:58

+0

是的,順序很重要,就像在OP的算法中一樣。如果你想以任意順序輸入條目,你必須建立一個依賴關係圖;這可能是一個簡單的配置文件矯枉過正。 – Philipp 2010-04-18 11:58:04