修改 Powershell 中的写入主机输出

问题描述 投票:0回答:1

我想像所需的输出一样删除开头和结尾的单引号。我想将这部分“C:\Windows\System32\wusa.exe”用双引号引起来。我怎样才能做到这一点?

这是我的脚本:

$Paths = Get-ChildItem -Path "C:\KBUPDATE2016" | Select-Object -ExpandProperty Name
$counter = 0
Write-Host "!!! Run below commands on Windows Server 2016 machines"
foreach($path in $Paths){

$logfilename = "wusa" + $counter

Write-Host "'Start-Process -FilePath "C:\Windows\System32\wusa.exe" -ArgumentList 'C:\KBUPDATE2016\$path /quiet /norestart /Log:C:\KBUPDATE2016\$($logfilename).log' -Wait'"
$counter ++
}

我的输出:

!!! Run below commands on Windows Server 2016 machines
'Start-Process -FilePath  C:\Windows\System32\wusa.exe -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5036609-x64-ndp48_087fa1e62da956ae7e7fc0f994321e00a59cf1cf.ms
u /quiet /norestart /Log:C:\KBUPDATE2016\wusa0.log' -Wait'
'Start-Process -FilePath  C:\Windows\System32\wusa.exe -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5036899-x64_55391ef83ffb9a029d2489da756a3fb562d4e600.msu /qui
et /norestart /Log:C:\KBUPDATE2016\wusa1.log' -Wait'
'Start-Process -FilePath  C:\Windows\System32\wusa.exe -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5037016-x64_dde96790d66ed77a63239fd5a8e69db88c626029.msu /qui
et /norestart /Log:C:\KBUPDATE2016\wusa2.log' -Wait'

我想要的输出:

!!! Run below commands on Windows Server 2016 machines
Start-Process -FilePath  "C:\Windows\System32\wusa.exe" -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5036609-x64-ndp48_087fa1e62da956ae7e7fc0f994321e00a59cf1cf.ms
u /quiet /norestart /Log:C:\KBUPDATE2016\wusa0.log' -Wait
Start-Process -FilePath  "C:\Windows\System32\wusa.exe" -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5036899-x64_55391ef83ffb9a029d2489da756a3fb562d4e600.msu /qui
et /norestart /Log:C:\KBUPDATE2016\wusa1.log' -Wait
Start-Process -FilePath  "C:\Windows\System32\wusa.exe" -ArgumentList 'C:\KBUPDATE2016\windows10.0-kb5037016-x64_dde96790d66ed77a63239fd5a8e69db88c626029.msu /qui
et /norestart /Log:C:\KBUPDATE2016\wusa2.log' -Wait
powershell
1个回答
0
投票

在双引号内使用双引号?

Write-Host "Start-Process -FilePath "`"C:\Windows\System32\wusa.exe`"" -ArgumentList 'C:\KBUPDATE2016\$path /quiet /norestart /Log:C:\KBUPDATE2016\$($logfilename).log' -Wait"

© www.soinside.com 2019 - 2024. All rights reserved.