如何使用PowerShell使用模板文件和文件名代替占位符文本来替换文件中的文本?



我有一个模板文件:Agriculture.txt,其中包含单词"Agriculture">

我在一个文件夹中有大约30个文件,包括Agriculture.txt,每个文件都没有文本,除了Agriculture文件。

我想用Agriculture文件的内容替换每个文件中的文本,并替换单词"Agriculture"在每个文件中使用文件名(减去.txt扩展名)

我尝试使用这些powershell命令:

$Content = Get-Content C:TempTechnologiesAgriculture.txt
$FileList = Get-ChildItem C:TempTechnologies | select FullName
$FileList | ForEach-Object { ($Content).replace("Agriculture",$_) | Set-Content $_.FullName }

我得到一个错误信息:

无法找到"replace"参数计数:2。在线:1字符:30…ch-Object {($Content).replace("Agriculture",$) | Set-Content $。富尔语……~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CategoryInfo: NotSpecified: (:) [], MethodExceptionfulllyqualifiederrid: MethodCountCouldNotFindBest

有人能帮我修复我的Powershell命令吗?

谢谢!

新命令:

$Content = Get-Content -Raw C:AMDTempTechnologiesAgriculture.txt
$FileList = Get-ChildItem C:AMDTempTechnologies
$FileList | ForEach-Object { ($Content).replace("Agriculture",$_.BaseName) | Set-Content $_.FullName }

对吗?EDIT最后的命令有效。谢谢你,圣地亚哥!

新增命令:

$Content = Get-Content -Raw C:AMDTempTechnologiesAgriculture.txt
$FileList = Get-ChildItem C:AMDTempTechnologies
$FileList | ForEach-Object { ($Content).replace("Agriculture",$_.BaseName) | Set-Content $_.FullName }

由Santiago回答!

最新更新