把以下内容保存为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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
