gpt4 book ai didi

powershell - PowerShell-从多个特定的嵌套文件复制特定的行

转载 作者:行者123 更新时间:2023-12-02 23:56:29 26 4
gpt4 key购买 nike

因此,文件夹结构如下所示:

根文件夹

  • RootFolder
  • SubFolder1
  • SubSubFolder1
  • totals.txt
  • SubSubFolder2
  • totals.txt
  • SubFolder2
  • SubSubFolder1
  • totals.txt
  • SubSubFolder2
  • totals.txt

  • 我要做的是递归地浏览这些文件夹中的totals.txt文件。读取内容,并将第22、26、30、34、38和42行(第一行为0而不是1)复制到单个组合文件中。

    我从以下代码开始:
    Get-ChildItem -Recurse | Where-Object {$_ -like "totals.txt" } | Get-Content | Select-Object -Index 22,26,30,34,38,42  | Add-Content "DataInportFile.txt"

    但是,这只会找到RootFolder \ SubFolder \ SubSubFolder \ totals.txt,然后退出脚本。不是我要找的东西...

    我需要的是上面的脚本,以便继续递归搜索下一个文件和下一个文件,直到在结构中搜索完所有目录为止。所以我用了这个:
    Get-ChildItem -Recurse | ForEach-Object {$_ -like "totals.txt" } | Get-Content | Select-Object -Index 22,26,30,34,38,42  | Add-Content "DataInportFile.txt"

    但是,此脚本错误
    C:\Users\user1\scripts\Untitled1.ps1:1 char:69
    + ... urse | ForEach-Object {$_ -like "totals.txt" } | $_.filename #| Get- ...
    + ~~~~~~~~~~~
    Expressions are only allowed as the first element of a pipeline.
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline

    我可以使用一些帮助来弄清楚本PowerShell脚本的其余部分。如此亲密但没有喜悦。谢谢您的帮助。

    最佳答案

    意识到我需要遍历数组

    供他人引用,此代码可按要求工作:

    Get-ChildItem -Recurse | Where-Object {$_ -like "totals.txt" } | 
    %{
    (Get-Content $_.FullName) | Select-Object -Index 22,26,30,34,38,42 | Add-Content "DataInportFile.txt"
    }

    关于powershell - PowerShell-从多个特定的嵌套文件复制特定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44399796/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com