本文介绍了读取所有文件,更改内容,再次保存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试替换某个目录结构中所有文件的内容.
I'm trying to do a replace in content of all files in a certain directory structure.
get-childItem temp\*.* -recurse |
get-content |
foreach-object {$_.replace($stringToFind1, $stringToPlace1)} |
set-content [original filename]
我可以从原始 get-childItem 中获取文件名以在 set-content 中使用它吗?
Can I get the filename from the original get-childItem to use it in the set-content?
推荐答案
为每个文件添加处理:
get-childItem *.* -recurse | % `
{
$filepath = $_.FullName;
(get-content $filepath) |
% { $_ -replace $stringToFind1, $stringToPlace1 } |
set-content $filepath -Force
}
要点:
$filepath = $_.FullName;
— 获取文件路径(get-content $filepath)
— 获取内容并关闭文件set-content $filepath -Force
— 保存修改的内容
$filepath = $_.FullName;
— get path to file(get-content $filepath)
— get content and close fileset-content $filepath -Force
— save modified content
这篇关于读取所有文件,更改内容,再次保存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!