批处理脚本中的 PowerShell 命令

批处理脚本中的 PowerShell 命令

我是新手,如果我问的不正确,请原谅。

我正在选择文本文件的一部分,并使用以下代码仅使用该部分生成一个新文件:

Select-String -Path .\input_file.txt -Pattern '\b\d{1,2}\.\d{1,2}\b' -AllMatches | % { $_.Matches } | % { $_.Value } > .\output_file.txt

当我在 PowerShell 上执行它时,它可以工作,但现在我需要对目录中的一堆文件执行相同的操作...有没有办法像批处理脚本一样执行相同的操作?

我无法弄清楚:(

提前谢谢了!

答案1

使用 Powershell,您可以遍历文件列表并然后执行命令。

例如:

# get all textfiles in a variable.
$files = get-childitem *.txt

# Loop collection and perform action on each iteration
$files | foreach-object {
    $filename = $_.name
    Select-String -Path $filename -Pattern '\b\d{1,2}\.\d{1,2}\b' -AllMatches | `
        % { $_.Matches } | % { $_.Value } >> .\output_file.txt

}

相关内容