Powershell Shell.Application 对象找不到文件夹



我正在尝试从文件中获取元数据。我正在使用此处找到的代码示例。

以下是我用来尝试访问任何文件夹的一些示例代码,因为我似乎无法这样做:

$TheThing = "C:Windows"
$folder = {$TheThing}
foreach($sFolder in $folder) 
{ 
$a = 0 
$objShell = New-Object -ComObject Shell.Application 
$objFolder = $objShell.NameSpace($folder)
foreach ($File in $objFolder.items()) 
{  
$FileMetaData = New-Object PSOBJECT 
for ($a ; $a  -le 266; $a++) 
{  
if($objFolder.getDetailsOf($File, $a)) 
{ 
$hash += @{$($objFolder.getDetailsOf($objFolder.items, $a))  = 
$($objFolder.getDetailsOf($File, $a)) } 
$FileMetaData | Add-Member $hash 
$hash.clear()  
} #end if 
} #end for  
$a=0 
$FileMetaData 
} #end foreach $file 
} #end foreach $sfolder 

该行:

$objFolder = $objShell.NameSpace($folder)

。实际上什么都不做。事实上,当代码放入 foreach 循环时,它会失败,并在以下行上显示"无法在 null 值表达式上调用方法"错误:

foreach ($File in $objFolder.items()) 

我错过了什么吗?

此行导致您的问题:

$folder = {$TheThing}

它需要:

$folder = $TheThing

通过使用{ },您可以使其成为脚本块,而您只需要它是一个字符串,其中包含要查询的路径。

您也可以将路径放在那里,而不是为一个目的使用两个变量。

相关内容

  • 没有找到相关文章