PowerShell中获取内容从多个目录中的多个不明的文件和子目录
问题描述:
我在PowerShell中的以下脚本:PowerShell中获取内容从多个目录中的多个不明的文件和子目录
(Get-Content text\text.txt).replace('ABC', 'abc') | Set-Content text\text.txt
它按预期工作... 它读取文件的内容,并取代了特殊的字符序列由另一个seguency ... 但是,我需要该脚本识别多个文件与不同名称在其他可能的子目录相同的初始目录。
dir01\file_name.abc
dir01\filename.def
dir01\dir02\fi-le_na-me.ghi
dir01\dor02\fi_le-na_me.jkl
dir01\dir02\dir03\f-i-l-e_n-a-m-e.mno
etc...
我不知道哪个将是文件的名称,也不是目录!
在MSDOS我用下面的表达式去的文件有:
for %%F in (*.*) do ("winRAR.exe" "%%F")
此批,压缩文件的文件...它只是一个样本!
我不知道如何通过PowerShel中的文件识别文件...有人可以帮助我吗?!
答
只需使用Get-ChildItem
并将输出传送到您的命令中。你可以告诉Get-ChildItem
改乘使用-recurse
目录,并只与-File
返回文件:
Get-ChildItem dir01 -recurse -file |
foreach{(Get-Content $_.FullName).replace('ABC', 'abc') | Set-Content $_.FullName}
非常感谢你zdan,完美的作品......我如果若干思考有可能在同一时间更换两个字符串? 'ABC','abc'和'DEF','def' – songa