把以下内容保存为backup-restore-EnvVarPath.ps1脚本.
执行 backup-restore-EnvVarPath.ps1 backup 会复写该脚本, 会把$pathValues=”;改写成$pathValues=’备份的内容’;
执行 backup-restore-EnvVarPath.ps1 restore 可以恢复用户环境变量Path值
你试一下就知道了.
param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateSet('backup', 'restore')][String]$operation ) $pathValues=''; switch ($operation) { 'backup' { $pathValues = [System.Environment]::GetEnvironmentVariable("Path", "User") $pathValuesNew='$pathValues='+"'$pathValues"+"';" $ScriptContents=[String]$MyInvocation.MyCommand.ScriptContents $ScriptContents = $ScriptContents -replace "\`$pathValues\='[^+]*';",$pathValuesNew $ScriptContents | Out-File $PSCommandPath -Encoding utf8 -NoNewline } 'restore' { if($pathValues -eq ''){ write-output "please backup first." }else{ [System.Environment]::SetEnvironmentVariable("Path", $pathValues, "User") # User是用户环境变量, 改为Machine是系统环境变量 } } }
本文链接: https://www.pstips.net/backup-and-restore-environment-path.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!