У меня есть несколько сотен командных файлов, таких как:
net use s: \\ukexchange\sysshare
net use t: \\ukccohelp\helpdesk
net use w: \\ukexchange\public
net use l: \\dwarf\apps
net use y: \\ukexchange\sysgrp
net use k: \\dwarf\sql
Я хочу поставить REM перед каждой строкой, содержащей строку, например. "Ukexchange"
REM net use s: \\ukexchange\sysshare
net use t: \\ukccohelp\helpdesk
REM net use w: \\ukexchange\public
net use l: \\reddwarf\apps
REM net use y: \\ukexchange\sysgrp
net use k: \\dwarf\sql
Это то, что у меня есть, но я должен выполнить эту команду вручную для каждой комбинации пути UNC и буквы диска.
$old = "net use l: \\dwarf\apps"
$new = "REM net use l: \\dwarf\apps"
get-childitem "c:\TEMP\Scripts" -recurse -include *.bat |
select -expand fullname |
foreach {
(Get-Content $_) -replace ("$old" -replace '\\','\\'), "$new" |
Set-Content $_
}
Как мне поместить текст в начало строки, если где-то в строке содержится конкретная строка?