首页 > 解决方案 > 递归覆盖文件夹中的所有 .txt 文件

问题描述

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

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

$t = get-childitem *txt -recurse

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

set-content $t -value 'hello'

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

PS:我是新手。

标签: powershell

解决方案


不需要$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!'

微软文档:

设置内容

获取子项


推荐阅读