может кто-нибудь помочь мне с моей проблемой? Я хочу изменить путь сокращений во всех папках и подпапках, потому что мы изменили наш сервер. Вот почему мне нужен код l oop во всех папках и подпапках.
Старый путь определяется как oldPrefix
, а путь как newPrefix
, я только что поместил здесь заполнители. Код в настоящее время ищет только ярлыки на рабочем столе, мне он понадобится для поиска по всему на рабочем столе (так что, может быть, для l oop?).
$oldPrefix = "OLD SERVER"
$newPrefix = "NEW SERVER"
$searchPath = "$($env:USERPROFILE)\Desktop"
$shell = new-object -com wscript.shell
write-host "Updating shortcut target" -foregroundcolor red -backgroundcolor black
dir $searchPath -filter *.lnk -recurse | foreach {
$lnk = $shell.createShortcut( $_.fullname )
$oldPath= $lnk.targetPath
$lnkRegex = "^" + [regex]::escape( $oldPrefix )
if ( $oldPath -match $lnkRegex ) {
$newPath = $oldPath -replace $lnkRegex, $newPrefix
write-host "Found: " + $_.fullname -foregroundcolor yellow -backgroundcolor black
write-host " Replace: " + $oldPath
write-host " With: " + $newPath
$lnk.targetPath = $newPath
$lnk.Save()
}
}
спасибо.