İki kod kümesi arasında (nispeten) küçük bir duraklama eklemem gerekiyor çünkü ikinci yarının, çalıştırmadan önce ilk yarının başarılı bir şekilde yürütülmesi gerekiyor - ancak PowerShell bazen biraz önünüzde ilerliyor ve bir önceki komut tamamen tamamlanmadan ilerler. Sürücü tamamen PowerShell New-Partition
yürütür zaman başlatılmadı nedeniylePowershell: Orta boru hattı uyumu
Initialize-Disk -PassThru -PartitionStyle GPT -Confirm:$false `
| New-Partition -DriveLetter D -UseMaximumSize
Genellikle Bu başarısız: Sadece bağlam için
, bu şimdiye ile çalışıyorum koddur. Sorun Initialize-Disk
çıkış nesnesi kaybolur ve New-Partition
bir giriş nesneyi almak olmamasıdır Ancak
Initialize-Disk -PassThru -PartitionStyle GPT -Confirm:$false
Start-Sleep -Seconds 2
New-Partition -DriveLetter D -UseMaximumSize
:
Tipik ben gibi bir şey kullanmayı tercih ediyorum.
Ben boru hattı Start-Sleep
koyarak çalıştı:
Initialize-Disk -PassThru -PartitionStyle GPT -Confirm:$false `
| Start-Sleep -Seconds 2 `
| New-Partition -DriveLetter D -UseMaximumSize
... ama (yeterince adil) giriş nesnenin mantıklı bilmiyor Start-Sleep
olarak bir istisna atar.
Start-Sleep : The input object cannot be bound to any parameters for the command either because the command does not take pipeline
input or the input and its properties do not match any of the parameters that take pipeline input.
At C:\Users\Administrator\Desktop\test.ps1:104 char:87
+ ... nfirm:$false | Start-Sleep -Seconds 2 `
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (MSFT_Disk (Obje...11E2-93F2-0...):PSObject) [Start-Sleep], ParameterBindingException
+ FullyQualifiedErrorId : InputObjectNotBound,Microsoft.PowerShell.Commands.StartSleepCommand
tl; dr: nasıl önceki cmdlet'inin çıktı nesnesini tutmak iken benim kodda bir duraklama ekleyebilirsiniz?
Değeri için, bu benim için işe yaramadı. – Bink