我正在修改一些 powershell 代码,我发现这些代码可以递归地从文件中获取元数据,但我在访问文件夹中的文件夹时遇到问题。我从 \share 下直接列出的文件夹中获取元数据,而不是从那里的文件夹和文件中获取元数据。如何将此代码修改为文件夹内文件的元数据?
另外,我试图将元数据导出到 CSV,但我只得到一个空文件。
EDIT:我正在尝试从 .pst 文件获取数据。我还发现了以下行,想知道是否可以以某种方式添加它:
dir \myserver\share -递归 -包括 *.pst |选择全名
($folder = "\\myserver\share") #end param
function funLine($strIN)
{
$strLine = "=" * $strIn.length
$hash | Export-Csv c:\pstdetails.csv -NoClobber -NoTypeInformation
# Write-Host -ForegroundColor Yellow "`n$strIN"
# Write-Host -ForegroundColor Cyan $strLine
} #end funline
function funMetaData()
{
foreach($sFolder in $folder)
{
$a = 0
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.namespace($sFolder)
foreach ($strFileName in $objFolder.items())
{ FunLine( "$($strFileName.name)")
for ($a ; $a -le 266; $a++)
{
if($objFolder.getDetailsOf($strFileName, $a))
{
$hash += @{ `
$($objFolder.getDetailsOf($objFolder.items, $a)) =`
$($objFolder.getDetailsOf($strFileName, $a))
} #end hash
$hash
$hash.clear()
} #end if
} #end for
$a=0
} #end foreach
} #end foreach
} #end funMetadata
经过一番苦苦寻找,答案一直就在我的面前。 (我之前确实在这里搜索过!)在这里找到了答案:使用 PowerShell 递归文件搜索 https://stackoverflow.com/questions/8677628/recursive-file-search-using-powershell
我将其修改为我需要的列,所以这是我使用的代码:
Get-ChildItem -Path \\Server\Folder -Filter *.pst -Recurse | Select-Object Directory, Name, Length, CreationTime, LastAccessTime, LastWriteTime | Export-Csv "c:\emails1.csv"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)