2017-08-01 129 views
-1

我有一組ps腳本調用其他ps腳本。他們都需要寫入相同的文本文件。父腳本的第一個輸出應該清除文件。所有後續的ps腳本都應附加到文本文件中,其中包括後面的邏輯中的父腳本。使用Out-File,父PS腳本將打開並鎖定文件。兒童PS腳本應追加到文件中,但由於父母創建了文本文件,因此子PS腳本無法默認添加到文本文件。我試過了Out-File和Add-ContentAdd-Content把中文放到文本文件中。多個PowerShell腳本輸出到相同的文本文件

+0

你可以使用Mutexes ...在這裏看到[詳細](https://learn-powershell.net/2014/09/30/using-mutexes-to-write-data-to-the-same- logfile-across-processes-with-powershell /)例子... –

回答

0

帶附加或添加內容的Out-File都可以使用。 除非你實際上是試圖寫中國,the encoding could be wrong.

$File ="PathTo\test.txt" 
Get-Date | Out-File $File -Encoding ascii 
"TEXT" | Out-File $File -Append -Encoding utf32 
Add-Content -Path $File -Value "END" -Encoding Unicode 

正如你可以在文件中看到,其結果取決於編碼變化。 如果你正在學中文,我的猜測是字節。 更早的可能轉換問題。

0

它採取了彼得施耐德的評論和馬丁範代爾夫特的答案得到它的工作組合。