簡體   English   中英

Powershell Out-File無法按預期使用反向字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM