2009-09-14 8 views
11

La secuencia de comandos se ejecuta correctamente cuando stdout/stderr no se redirigen.Error al redirigir stdout y stderr de la secuencia de comandos de powershell

Cuando agrego stderr y la redirección stdout, obtengo el siguiente error: ¿Cómo puedo evitarlo?

% 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

¿Cómo se ve el código? – JasonMArcher

+0

Cierto código que llama CURL.exe – ripper234

+0

que nunca aceptó mi respuesta, @ ripper234 – x0n

Respuesta

15

Lee Holmes (uno de los desarrolladores de alto nivel en el equipo de PowerShell) cubre esta aquí en un blog:

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

Esto es error en PowerShell v1.0, y ocurre cuando:

  • un comando de PowerShell genera tanto la producción regular y error
  • que ha usado cmd.exe para redirigir la junta utput a un archivo
  • que ha usado cmd.exe para combinar la salida de error y arroyos

Hay una solución.

-Oisin

+0

Gracias por el artículo. Intenté ambas soluciones (CTP V1 y V2) y no funciona ("No se puede llamar a un método en una expresión de valor nulo") – ripper234

+0

¿Qué versión estás usando? Usted no dice en su pregunta original. – x0n

+0

Bueno, creo que estoy usando V2 hoy y me pregunto si también lo veo en V3. –

0

Una vez tuve varias uniones vínculos fijos directorio que se necesitan para tener "GetItemChild" aplicado, y recibieron el mismo error que esta pregunta.

La eliminación de las uniones resolvió el problema.

Cuestiones relacionadas