Powershell Информация о версии ниже:PowerShell Get-ChildItem выход задержан?
Name Value
---- -----
PSVersion 5.0.10586.494
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.494
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
У меня есть следующий Powershell код:
Write-Host "Step 1..."
$find = "string-to-find"
Get-ChildItem -Path D:\path\path\ -Include *.dat1, *.dat2, *.dat3, *.dat4, -Recurse `
| Select-String -SimpleMatch $find `
| Select-Object -Unique Path
Write-Host "Step 2 ..."
Выход:
Step 1...
Step 2...
Path
----
D:\path\path\test.dat1
В принципе, выход из Get-ChildItem
является встречающийся ПОСЛЕ Последующий Write-Host
заявление - почему ????
Учитывая, что этот код работал очень хорошо в предыдущих версиях - какой правильный метод вывода следует использовать для вывода вывода в том порядке, в котором он выполняется?
Заранее спасибо.
Тем не менее пытается получить эту работу, используя следующие:
Get-ChildItem -Path D:\path\path\ -Include *.dat1, *.dat2, *.dat3, *.dat4, -Recurse `
| Select-String -SimpleMatch $find `
| Select-Object -Unique Path `
| ForEach-Object { $_ } | Write-Host
Но выход выглядит следующим образом:
@{Path=D:\path\path\something.dat1}
@{Path=D:\path\path\something.dat1}
Все, что я хочу, это полное имя пути в списке (как она работает, прежде чем v5).
Возможный дубликат [Невозможно приостановить или сна после Select-Object] (HTTP: // StackOverflow. com/questions/34835327/disabled-to-pause-or-sleep-after-select-object) – PetSerAl
Поскольку ['write-host' и' write-output' отличаются] (http://stackoverflow.com/questions/ 8755497/which-should-i-use-write-host-write-output-or-consolewriteline), а вызовы 'write-output' [неявные] (http://stackoverflow.com/a/19754384/478656). Вы отправляете два разных типа вывода через два совершенно разных маршрута (которые, возможно, никогда вообще не заканчиваются на экране вместе), а затем спрашивают, почему это занимает разные промежутки времени. – TessellatingHeckler
Спасибо за ответы до сих пор ... Но с учетом этого сценария WAS работает отлично в предыдущих версиях powershell - каков правильный метод вывода, чтобы все выводилось так, как это было ранее? – bdcoder