用于查找名为xyz的文件夹并列出内容的PowerShell脚本

用于查找名为xyz的文件夹并列出内容的PowerShell脚本,powershell,Powershell,我有一个PowerShell脚本,我正在尝试编写。基本上,我试图在共享卷中查找具有特定名称的文件夹,在整个共享过程中,有多个不同目录级别的文件夹实例,所有文件夹都具有相同的名称。我还需要列出文件夹路径和内容,并输出到CSV。我已经能够使用以下脚本列出文件夹路径: gci-过滤器“foldername”-递归-路径“X:\DIR”-目录|选择对象全名|导出Csv C:\Output\folderlist.Csv 这很好,但现在我想列出每个名为“Foldername”的文件夹的文件内容。这就是问题的

我有一个PowerShell脚本,我正在尝试编写。基本上,我试图在共享卷中查找具有特定名称的文件夹,在整个共享过程中,有多个不同目录级别的文件夹实例,所有文件夹都具有相同的名称。我还需要列出文件夹路径和内容,并输出到CSV。我已经能够使用以下脚本列出文件夹路径:

gci-过滤器“foldername”-递归-路径“X:\DIR”-目录|选择对象全名|导出Csv C:\Output\folderlist.Csv

这很好,但现在我想列出每个名为“Foldername”的文件夹的文件内容。这就是问题的症结所在,有些文件夹有内容,有些是空的。我总是需要输出文件夹路径,即使它是空的,还需要列出文件夹内容(如果它有内容)

下面的脚本将列出所有名为“foldername”的文件夹,但它只输出包含内容的文件夹,如果文件夹为空,则不包括路径列表

gci-Path X:\DIR-Filter*foldername*|其中{$\u.psicContainer}gci |导出Csv C:\Output\folderlist.Csv

我现在在PowerShell上也遇到了260个字符的限制。只列出文件夹是可以的,但是当它到达文件级别时,它会在一些文件夹上爆炸,因为文件夹路径或文件名太长

我读了一篇关于有人通过PowerShell使用robocopy绕过260/248字符限制的文章

任何建议都会很棒

$Search = gci -Filter "Test" -Recurse -Path "d:" -Directory 
Foreach ($path in $Search.fullname) {
Write-output $path | Out-File d:\Filelist.txt -append
$file = gci -path $path | select name 
$file.name | out-file d:\filelist.txt -append
write-output "------- Next Folder --------------" | Out-File d:\Filelist.txt -append }
要输出大于260的文件,可以使用get-folderitem.ps1脚本:


Daniel,你的第一个解决方案几乎就是我一直在寻找的,唯一的例外是我想通过Filelist.txt获得一个文件夹列表,这些文件夹是空的,而不是那些里面有文件的文件夹。请帮忙。
$Search = gci -Filter "Test" -Recurse -Path "d:\Testfolder" -Directory 
Foreach ($path in $Search.fullname) {
Write-output $path | Out-File d:\Filelist.txt -append
$file = get-folderitem -Path $path | where {$_.fullname.length -gt 260} 
$file.name | out-file d:\filelist.txt -append
write-output "------- Next Folder --------------" | Out-File d:\Filelist.txt -append }