2012-09-28 22 views
0

我在腳本my.ps1中有以下代碼。如何打開正在運行的腳本的重定向輸出文件?

.... 
$attach = New-Object System.Net.Mail.Attachment("c:\my.log") 
$msg.Attachments.Add($attach) 

我想安排它運行爲powershell "& { my.ps1 > c:\my.log }"

但是,我得到了以下錯誤。

New-Object:使用「1」參數調用「.ctor」的異常:「進程無法訪問文件'c:\ my.log',因爲它正在被另一個進程使用。

無論如何要執行它?

回答

1

使用重定向鎖定文件。相反,您需要使用cmdlet(如Out-File或Add-Content)直接刪除重定向並在腳本中直接寫入文件。

+0

是否可以將一組腳本放在一個'{...}'和'tee'的輸出文件中? – ca9163d9

+0

我會懷疑它。我懷疑,如果你做任何事情將腳本的輸出重定向到一個文件,只要文件正在運行,該文件就會被鎖定。 – EBGreen

相關問題