【发布时间】:2021-03-21 08:06:18
【问题描述】:
我正在搜索目录中的文件夹并将它们的名称输出到 Excel 文件中。 现在我想列出每个文件夹中包含的所有文件(在一个字符串中)。 如何将文件名写入 $UserObject 中的“Masken”?
我希望我的 Excel 看起来像这样:
Datum |Nummer|...|Masken
2020-01-01 | 43 |...|filename1, filename2
2020-02-05 | 44 |...|filenamex, filenamey, filenamez
这是我的 Powershell 脚本:
$Folder="C:\DATEN\Powershell"
$FolderNames=Get-ChildItem -Path $Folder -Directory| Select-Object -ExpandProperty Name
$Daten = ForEach($FolderName in $FolderNames){
$UserObject = New-Object -TypeName PSObject | Select-Object Datum,Nummer,Art,Programmierer,Name,Masken
$UserObject.Datum = $FolderName.Substring(0,10)
$UserObject.Nummer = ($FolderName.Split(' '))[1]
$FolderName = $FolderName.Substring(14)
If($FolderName -like "M*" ) {
$UserObject.Art = 'Modul'
}
If($FolderName -like "F*" ) {
$UserObject.Art = 'Programmierung'
}
$FolderName = $FolderName.Substring(2)
$UserObject.Programmierer = ($FolderName.Split(' '))[0]
$UserObject.Name = ($FolderName.Split(' ', 2))[1]
$UserObject
}
$Daten | Export-CSV -NoTypeInformation -Path "$env:Temp\daten.csv" -UseCulture -Encoding Default
& "$env:Temp\daten.csv"
【问题讨论】:
-
在当前目录上做一个
G-CI,只选择名称值,然后使用-join ', '将该列表变成一个字符串。
标签: powershell file foreach directory