递归覆盖文件夹中的所有.txt文件

时间:2019-06-12 20:11:43

标签: powershell

在PowerShell中可以用来覆盖文件夹和子目录中所有.txt文件内容的代码是什么?到目前为止,我尝试使用以下内容。

获取所有文本文件,包括子目录中的文本文件,并将它们存储在t变量中:

$t = get-childitem *txt -recurse

然后使用set-content cmdlet写入所有文件

set-content $t -value 'hello'

但这似乎不起作用。请帮忙。

P.S:我是新手。

1 个答案:

答案 0 :(得分:1)

不需要$t变量。您可以使用管道:

Get-ChildItem -Filter *.txt -Recurse | Set-Content -Value 'Hello!'

这将用Hello!填充您所在目录中的所有文件以及所有子目录

如果由于某种原因需要执行处理并且需要变量中的文件,则可以使用管道链,也可以仅通过管道传递变量:

$t = Get-ChildItem -Filter *.txt -Recurse
# Do stuff with $t
$t | Set-Content -Value 'Hello!'

Microsoft文档:

Set-Content

Get-ChildItem