File PowerShell从多个目录和子目录获取多个未知文件的内容

File PowerShell从多个目录和子目录获取多个未知文件的内容,file,powershell,subdirectory,File,Powershell,Subdirectory,我在PowerShell中执行了以下脚本: (Get-Content text\text.txt).replace('ABC', 'abc') | Set-Content text\text.txt 它按预期工作。。。 它读取文件的内容,并用另一个序列替换特定的字符序列。。。 但是,我需要该脚本在同一初始目录的其他可能的子目录中标识多个具有不同名称的文件 dir01\file_name.abc dir01\filename.def dir01\dir02\fi-le_na-me.ghi dir

我在PowerShell中执行了以下脚本:

(Get-Content text\text.txt).replace('ABC', 'abc') | Set-Content text\text.txt
它按预期工作。。。 它读取文件的内容,并用另一个序列替换特定的字符序列。。。 但是,我需要该脚本在同一初始目录的其他可能的子目录中标识多个具有不同名称的文件

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")
此批处理,逐个文件压缩。。。这只是一个样本


我不知道如何在PowerShell中逐个文件标识。。。有人能帮我吗

只需使用
getchilditem
并将输出导入命令即可。您可以告诉
Get ChildItem
使用
-recurse
递归目录,并且只返回带有
-File
的文件:

Get-ChildItem dir01 -recurse -file | 
    foreach{(Get-Content $_.FullName).replace('ABC', 'abc') | Set-Content $_.FullName}

只需使用
getchilditem
并将输出导入命令。您可以告诉
Get ChildItem
使用
-recurse
递归目录,并且只返回带有
-File
的文件:

Get-ChildItem dir01 -recurse -file | 
    foreach{(Get-Content $_.FullName).replace('ABC', 'abc') | Set-Content $_.FullName}

非常感谢zdan,非常好用。。。我在想,是否有可能同时更换两根弦?”“ABC”,“ABC”和“DEF”,“DEF”非常感谢zdan,非常好用。。。我在想,是否有可能同时更换两根弦?”ABC、ABC和DEF、DEF