foreach with iteration and -replace using PowerShell

时间:2018-04-05 13:16:56

标签: for-loop while-loop powershell-v3.0

我有一个文件名,里面有文件名。有多个重复的名称,所以每个文件名都有重复我必须在每个重复的文件名后连接一个序号。例如:

最初文本文件如下所示:

filenamex
filenamex
filenamex
otherfilename
otherfilename
otherfilename
otherfilename

我需要代码执行的操作是:

  • 第一个filenamex保持不变
  • 第二个filenamex已替换为filenamex1
  • 第三个filenamex已替换为filenamex2
  • 第一个otherfilename保持不变
  • 第二个otherfilename已替换为otherfilename1
  • 第三个otherfilename已替换为otherfilename2
  • 第四个otherfilename已替换为otherfilename3

最终文本文件如下所示:

filenamex
filenamex1
filenamex2
otherfilename
otherfilename1
otherfilename2
otherfilename3

这是我的代码,但是我遇到了各种管道错误。我正在尝试将-replace,迭代和Get-Contentforeach一起使用。但是,我很难让它们聚集在一起工作。

$inputFile1 = Get-Content H:\test\outputfile.txt

for ($i=0; $i -lt $inputFile1.Count; $i++) {
    $k=1
    $j=$i

    while ($inputFile1[$i] = $inputFile1[$j+1]) {
        (Get-Content H:\test\outputfile.txt).Replace($inputFile1[$i+1], $inputFile1[$i + 1] + $k.ToString() + ".pdf") |
            Out-File H:\test\outputfile2.txt -Append

        $k++
        $j++
    }
}

0 个答案:

没有答案