2009-09-14 21 views
11

Stdout/stderr yönlendirilmediğinde, betik düzgün çalışır.Stdout ve powershell betiğinin stderr'sini yeniden yönlendirirken hata oluştu

Hem stderr hem de stdout yönlendirmesini eklediğimde, şu hatayı alıyorum: Nasıl önleyebilirim?

http://www.leeholmes.com/blog/WorkaroundTheOSHandlesPositionIsNotWhatFileStreamExpected.aspx

Bu PowerShell 1.0 sürümündeki hata olduğunu ve ne olur:

% Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 

    0 19.4M 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
81 19.4M 0  0 81 15.9M  0 54.5M --:--:-- --:--:-- --:--:-- 55.8M 
100 19.4M 0  0 100 19.4M  0 14.2M 0:00:01 0:00:01 --:--:-- 14.3M 
100 19.4M 0  0 100 19.4M  0 8428k 0:00:02 0:00:02 --:--:-- 8454k 
100 19.4M 0  0 100 19.4M  0 5924k 0:00:03 0:00:03 --:--:-- 5937k 
100 19.4M 0  0 100 19.4M  0 4567k 0:00:04 0:00:04 --:--:-- 4575k 
100 19.4M 0 50 100 19.4M  10 4291k 0:00:04 0:00:04 --:--:-- 835k 
out-lineoutput : The OS handle's position is not what FileStream expected. Do not use a handle simu 
ltaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss. 
    + CategoryInfo   : NotSpecified: (:) [out-lineoutput], IOException 
    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.OutLineOutputCom 
    mand 
+0

Kodunuz neye benziyor? – JasonMArcher

+0

Bazı kod çağrıları CURL.exe – ripper234

+0

cevabını hiç kabul etmediniz, @ ripper234 – x0n

cevap

15

Lee Holmes (Powershell takımda üst düzey geliştiriciler biri) bir blog yazısında burada bu kapsar:

  • bir PowerShell komutu sen o yönlendirmek için cmd.exe'yi kullandık
  • düzenli ve hata çıktı üretmesi hem üretir Bir dosya
  • için ıkış çıktıyı birleştirmek için cmd.exe'yi kullanmış ve hata bir çözümü vardır

akışları.

+0

Makale için teşekkürler. Her iki geçici çözümü (V1 ve V2 CTP) denedim ve işe yaramıyor ("Null değerli bir ifadede bir yöntemi arayamazsınız.") – ripper234

+0

Hangi sürümü kullanıyorsunuz? Orijinal sorunuzda söylemiyorsunuz. – x0n

+0

Sanırım bugün V2 kullanıyorum ve V3'te de görsem acaba. –

0

-Oisin keresinde "GetItemChild" uygulanmış olması gereken dizinde birkaç sabit bağlı kavşak vardı ve bu soruya aynı hata aldı.

Kavşakları çıkarmak sorunu çözdü.