来自多个目录和子目录的多个未知文件的 PowerShell Get-Content
PowerShell Get-Content on multiple unknow files from multiple directories and sub directories
我在 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")
这批,逐个文件压缩...它只是一个示例!
我不知道如何在 PowerShel 中逐个文件识别...有人可以帮助我吗?!
只需使用 Get-ChildItem
并将输出通过管道传输到您的命令中。您可以告诉 Get-ChildItem
使用 -recurse
递归目录,并且只有 return 文件 -File
:
Get-ChildItem dir01 -recurse -file |
foreach{(Get-Content $_.FullName).replace('ABC', 'abc') | Set-Content $_.FullName}
我在 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")
这批,逐个文件压缩...它只是一个示例!
我不知道如何在 PowerShel 中逐个文件识别...有人可以帮助我吗?!
只需使用 Get-ChildItem
并将输出通过管道传输到您的命令中。您可以告诉 Get-ChildItem
使用 -recurse
递归目录,并且只有 return 文件 -File
:
Get-ChildItem dir01 -recurse -file |
foreach{(Get-Content $_.FullName).replace('ABC', 'abc') | Set-Content $_.FullName}