2012-02-29 60 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_”附加到文件名,因为我使用的是相同的目录来写入。如果不需要,可以将其删除。

相关问题