Powershell 環境變數設定:自動化您的 Windows 設定

Powershell 環境變數設定:自動化您的 Windows 設定

目錄

在 Windows 中,手動設定環境變數通常需要通過系統進階系統設定來進行,這個過程可能比較繁瑣。幸運的是,我們可以利用 Powershell 來實現自動化的環境變數設定。在本篇文章中,我將指導您如何使用 Powershell 來高效地設定和管理 Windows 的環境變數,從而簡化整個過程。這不僅節省時間,而且也提高了配置工作的效率。

透過 Powershell 設定環境變數

# 設定要加入環境變數中的路徑
$path_array = @(
    'C:\Program Files\Git\bin',
    '$HOME\AppData\Roaming\Python\Scripts'
)

for ($i = 0; $i -lt $path_array.Count; $i++) {
    $InstallFolder = $null
    $InstallFolder = $path_array[$i]

    # $env:Path, [Environment]::GetEnvironmentVariable('PATH'), and setx all expand
    # variables (e.g. %JAVA_HOME%) in the value. Writing the expanded paths back
    # into the environment would be destructive so instead, read the path directly
    # from the registry with the DoNotExpandEnvironmentNames option and write that
    # value back using the non-destructive [Environment]::SetEnvironmentVariable
    # which also broadcasts environment variable changes to Windows.
    try {
        $registryKey = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $false)
        $originalPath = $registryKey.GetValue(`
            'PATH', `
            '', `
            [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames `
        )
        $pathParts = $originalPath -split ';'

        if (!($pathParts -contains $InstallFolder)) {
            Write-Host "Adding $InstallFolder to PATH"

            # SetEnvironmentVariable broadcasts the "Environment" change to
            # Windows and is NOT destructive (e.g. expanding variables)
            [Environment]::SetEnvironmentVariable(
                'PATH', `
                "$originalPath;$InstallFolder", `
                [EnvironmentVariableTarget]::User`
            )

            # Also add the path to the current session
            $env:PATH += ";$InstallFolder"
        } else {
            Write-Host "An entry for $InstallFolder is already in PATH"
        }
    } finally {
        if ($registryKey) {
            $registryKey.Close()
        }
    }
}

相關連結

如何透過 PowerShell 自動寫入執行檔路徑到 PATH 使用者環境變數 | The Will Will Web (miniasp.com)

標籤 :

相關文章

沛瑞科技混合訊號 USB 示波器評測:入門者的最佳選擇!

沛瑞科技混合訊號 USB 示波器評測:入門者的最佳選擇!

探索沛瑞科技的混合訊號 USB 示波器 當我們談到嵌入式工程師的日常工作,與硬體信號的互動是不可或缺的部分。有時候,擁有一台專屬的設備可以使任務執行得

閱讀更多
書籤工具 Pocket 停止服務,遷移到自架 (Self-Hosted) 的稍後閱讀書籤服務 Wallabag

書籤工具 Pocket 停止服務,遷移到自架 (Self-Hosted) 的稍後閱讀書籤服務 Wallabag

再見 Pocket!迎接自架稍後閱讀的時代 Mozilla 最近 宣佈 了一項令人意外的消息:從 2025 年 7 月 8 日起,將正式停止提供「Pocket」這款廣受歡迎的稍後閱

閱讀更多
如何重置遠端 VSCode Server 中安裝的 extension?

如何重置遠端 VSCode Server 中安裝的 extension?

最近我重新整理了一下 VSCode 的 extension,把一些不常用的或是有更好的替代的移除更換。 然而這些整理都只會同步到本地端的 extension 設定中,已經在遠端伺

閱讀更多