2009-09-14 31 views
11

Tập lệnh chạy tốt khi stdout/stderr không được chuyển hướng.Lỗi khi chuyển hướng stdout và stderr của tập lệnh powershell

Khi tôi thêm cả chuyển hướng stderr và stdout, tôi nhận được lỗi sau: Làm cách nào để tránh?

% 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

Mã của bạn trông như thế nào? – JasonMArcher

+0

Một số mã gọi CURL.exe – ripper234

+0

bạn không bao giờ chấp nhận câu trả lời của tôi, @ ripper234 – x0n

Trả lời

15

Lee Holmes (một trong những nhà phát triển cấp cao trong nhóm PowerShell) bao gồm ở đây trong một bài viết trên blog:

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

Đây là lỗi trong PowerShell v1.0, và sẽ xảy ra khi:

  • một lệnh PowerShell tạo có quy tắc và lỗi đầu ra
  • bạn đã sử dụng cmd.exe để chuyển hướng o utput vào một tập tin
  • bạn đã sử dụng cmd.exe để hợp nhất các đầu ra và lỗi suối

Có một workaround.

-Oisin

+0

Cảm ơn bài viết. Tôi đã thử cả hai workaround (V1 và V2 CTP) và nó không hoạt động ("Bạn không thể gọi một phương pháp trên một biểu thức null giá trị.") – ripper234

+0

Phiên bản nào bạn đang sử dụng? Bạn không nói trong câu hỏi ban đầu của bạn. – x0n

+0

Vâng tôi nghĩ rằng tôi đang sử dụng V2 ngày hôm nay và tôi tự hỏi nếu tôi nhìn thấy nó trong V3 quá. –

0

Tôi đã từng có một số nút giao thông khó liên kết ở thư mục đó cần thiết phải có "GetItemChild" áp dụng, và nhận được những lỗi tương tự như câu hỏi này.

Xóa các nút giao đã giải quyết được sự cố.

Các vấn đề liên quan