我對PowerShell腳本不太熟悉,但我相信你可以在其中編寫普通的C#。如果是這樣,那麼C#可能會有所幫助。
請注意,有三個PATH環境變量可供選擇:給予進程的環境變量,給予用戶的環境變量和給予機器自身的環境變量。對於下面的演示代碼,我選擇了這個過程。
var whichPath = EnvironmentVariableTarget.Process;
string path = Environment.GetEnvironmentVariable("PATH", whichPath);
string [] pathEntries = path.Split(';');
if (pathEntries.Length > 1)
{
// Initialize to the necessary length, for efficiency.
var sb = new StringBuilder(capacity: path.Length);
for(int i = 1; i < pathEntries.Length; ++i)
{
sb.Append(pathEntries[i]).Append(';');
}
sb.Append(pathEntries[0]).Append(';');
Environment.SetEnvironmentVariable("PATH", sb.ToString(), target: whichPath);
}
你知道持有PowerShell中的路徑字符串變量的名字嗎?爲什麼不做一個循環來獲取字符串的每個字符並將其複製到$ buffer1,直到它到達第一個'「;」'。之後,停止將字符複製到$ buffer1並開始將它們複製到$ buffer2(也就是$ buffer2 + = $ char)。完成循環後,只需將PATH設置爲$ buffer2 + $ buffer1 – flen