[英]Powershell Out-File not working as expected with a reversed string
我需要逐行向后寫一個文件到另一個文件。 我可以在PowerShell窗口中使它工作正常,但是當我嘗試將其傳遞給Out-File
,它不起作用。 這是我的腳本:
Get-Content C:\Users\Administrator\Desktop\files.txt | ForEach-Object {
$text = $_.toCharArray()
[Array]::Reverse($text)
-join $text | Out-File 'C:\Users\Administrator\Desktop\reversed.txt'
}
這實際上在桌面上創建了一個文件,但沒有給它任何內容。
如果我只是在最后一行沒有管道Out-File
,它可以正常工作,並將反轉的文件直接打印到PowerShell窗口。
我已嘗試使用和不使用單引號,以及使用-FilePath
選項。 沒有什么工作。 有什么想法嗎?
由於未使用-Append參數,因此Out-File將在每次處理源文件中的行時覆蓋該文件。 我懷疑源文件的最后一行是一個空行,這就是為什么你在輸出文件中看不到任何內容。
正確的方法是@TheMadTechnician建議:
Get-Content C:\Users\Administrator\Desktop\files.txt |
ForEach-Object {
$text = $_.toCharArray()
[Array]::Reverse($text)
-join $text
} |
Out-File C:\Users\Administrator\Desktop\reversed.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.