我的问题是如何打印文件夹A中文件的名称,文件夹B中不存在不同的文件扩展名。
文件夹A中的文件具有.xlsx
文件扩展名,文件夹B中的文件具有.txt
文件扩展名。
这是一个直观的表示:
文件夹A包含3个.xlsx文件。
文件夹B有2个.txt文件。
我想要的输出是打印GHI.xlsx
文件名,因为文件夹B中不存在。
以下是我目前正在做的事情:
#Get list of files
$Files = Get-ChildItem '\C:\My Documents\Folder A\*.xlsm' `
-Exclude 'C:\My Documents\Folder B\*.txt'
foreach($File in $Files) {
$Filename = $File.BaseName
echo $Filename
}
答案 0 :(得分:1)
您可以使用Where-Object cmdlet
过滤BaseName
属性
$folderA = Get-ChildItem 'C:\My Documents\Folder A' -File
$folderB = Get-ChildItem 'C:\My Documents\Folder B' -File |
select -ExpandProperty BaseName)
$folderA | Where-Object BaseName -NotIn $folderB |
select -ExpandProperty Name