【问题标题】:PowerShell Get-Content on multiple unknow files from multiple directories and sub directoriesPowerShell Get-Content 来自多个目录和子目录的多个未知文件
【发布时间】:2016-03-03 22:00:48
【问题描述】:

我在 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 中逐个文件识别...有人可以帮我解决这个问题吗?!

【问题讨论】:

    标签: file powershell subdirectory


    【解决方案1】:

    只需使用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'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 2014-05-17
    • 1970-01-01
    相关资源
    最近更新 更多