2012-02-29 57 views
2

我對所有這一切都非常感興趣,所以請原諒我缺乏技術優雅和所有愚蠢的行爲。Powershell - 獲取目錄以便一次輸出文件

dir c:\Users\me\desktop\Test\*.txt | %{ $sourceFile = $_; get-content $_} | Out-File "$sourceFile.results" 

我怎麼能修改此命令行,這樣,而不是一個文件,所有的文本文件,我有一個比一的比例的內容,使每一個輸出文件表示每個文本文件的內容?

我意識到這個對象在應用程序方面是荒謬的,但我在概念上試圖將它拼湊在一起,所以我可以真正理解。

P.S.什麼是%?哈哈另一個荒謬的問題,似乎不值得一個單獨的職位,它有什麼作用?

+1

我們很多人缺乏技術優雅,並且是全能的白癡。但我們喜歡這些東西,我們盡力在這裏互相幫助。 – DOK 2012-02-29 18:34:01

+1

'%'是'ForEach-Object' cmdlet的別名,它具有另一個別名「foreach」(這與「foreach'關鍵字不同)。 – Rynant 2012-02-29 18:52:21

回答

3

dir | % { Out-File -FilePath "new_$($_.Name)" -InputObject (gc $_.FullName) }

只需要一個流水線。此命令將「new_」附加到文件名,因爲我使用的是相同的目錄來寫入。如果不需要,可以將其刪除。

相關問題