【发布时间】:2019-06-12 20:11:43
【问题描述】:
我可以在 PowerShell 中使用哪些代码来覆盖文件夹和子目录中所有 .txt 文件的内容?到目前为止,我尝试使用以下内容。
获取所有文本文件,包括子目录中的文件,并将它们存储在t变量中:
$t = get-childitem *txt -recurse
然后使用set-content cmdlet 写入所有文件
set-content $t -value 'hello'
但这似乎不起作用。请帮忙。
P.S:我是新手。
【问题讨论】:
-
您可以直接通过管道:
Get-ChildItem -Filter *.txt -Recurse | Set-Content将自己的文件名设置为内容或应用值Get-ChildItem -Filter *.txt -Recurse | Set-Content -Value 'Hello' -
看看
Get-Help Set-Content -Parameter Path- 你会注意到你使用的位置参数需要一个字符串并且你提供了一个文件信息对象。 [grin] 尝试将集合通过管道传输到Set-Content或使用ForEach-Object调用通过参数名称传递 `$_。 -
好吧,上面问题中的代码确实有效,尽管效率很低,因为正如您所说的那样,参数是“字符串”提供的。 ForEach 对象会更好。感谢您的帮助。
标签: powershell