使用PowerShell同时覆盖多个* .txt文件的全部内容

问题描述 投票:0回答:1

我正在尝试编写一个快速脚本来“重置”我正在使用的文件,以从另一个脚本收集结果。我不总是希望它们重置,也不希望其他使用原始脚本的人能够重置它们,所以我只需要一个简单的脚本即可进行重置,但似乎什么也找不到。我发现的最接近的东西是这个,但它并不是我想要的东西:

Get-ChildItem "$PSScriptRoot\*.txt" -Recurse | ForEach {
(Set-Content $_ | ForEach { $_ -replace '', 'Currently no results' }) |
Set-Content $_
}
powershell text overwrite
1个回答
0
投票

您可以使用静态Get-ChildItem参数将Set-Content输出直接传递到-Value,该参数用相同的字符串填充所有输入文件:

Get-ChildItem $PSScriptRoot\*.txt -Recurse |
  Set-Content -Value 'Currently no results' -WhatIf

-WhatIf 预览操作;删除它实际上覆盖文件的内容。

© www.soinside.com 2019 - 2024. All rights reserved.