如何在子文件夹文本文件中保存文件名和文件大小?

时间:2021-07-22 04:26:46

标签: powershell

对不起,我是新手。我只知道如何使用 powershell 复制/移动/删除文件。如果有人能在这件事上帮助我,那将非常有帮助,请原谅我的英语。

我有多个子文件夹,比如说

C:\test\1
C:\test\2
C:\test\3

文件夹内有多个图像文件。我想列出子文件夹的文件名和大小,并将文本文件保存在子文件夹中。

C:\test\1\filelist.txt
C:\test\2\filelist.txt
C:\test\3\filelist.txt

filelist.txt 会有类似的内容

Image1.png  30kb
Image2.png 4MB

这是我从网上找到的示例脚本,但我需要它根据子文件夹文件名将文本文件保存在子文件夹中。

$Folder = 'C:\pic'
$Output = 'C:\output.txt'
$Files = Get-ChildItem -Path $Folder -Filter *.png -File
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace($Folder)
foreach( $File in $Files ) {
    $objFile = $objFolder.ParseName($File)
    $Name = $objFolder.GetDetailsOf($objFile, 0)
    $Size = $objFolder.GetDetailsOf($objFile, 1)
    $Length = $objFolder.GetDetailsOf($objFile, 27)
    $Tab = [char]9
    "$Name$Tab$Size$Tab$Length" | Out-File -Append -FilePath $Output
}

```

1 个答案:

答案 0 :(得分:1)

如果您想为此使用构建的应用程序,我建议: https://www.karenware.com/powertools/karens-directory-printer