使用Powershell将文件名与不同的扩展名进行比较

时间:2017-03-01 23:05:41

标签: powershell powershell-v3.0

我想比较具有相同名称但在同一目录中存在不同扩展名的文件。

示例:某个位置有6个文件。

1234.pdf

1234.xml

abcd.pdf

abcd.xml

5678.pdf

efgh.xml

我想将所有.pdf / .xml文件与扩展名为.xml / .pdf的文件进行比较,这些文件具有相同的名称,并查明是否缺少任何.pdf或.xml文件,如上所述例如,缺少5678.xml文件,缺少efgh.pdf文件。

我尝试将文本文件中的所有.pdf文件和另一个文本文件中的所有.xml文件复制,并尝试比较其中的字符串,但它不起作用。

任何人都可以告诉我如何将文件名与不同的扩展名进行比较?

1 个答案:

答案 0 :(得分:1)

Push-Location "\\Cifintgfsfs001\gfs\MXPDFXML\Data\Test"
Get-childitem *.xml | ForEach { 
  if (!(test-path "$($_.BaseName).pdf")){ 
    "$($_.BaseName).pdf missing"
  }
} 
Get-childitem *.pdf | ForEach { 
  if (!(test-path "$($_.BaseName).xml")){ 
    "$($_.BaseName).xml missing"
  }
} 
Pop-Location