使用 powershell 命令在文本文件中输出文件大小时出现问题

使用 powershell 命令在文本文件中输出文件大小时出现问题

这就是我想做的事情:

createfile until EOF
    $drives = Get-WmiObject win32_volume | ? {{$_.DriveType -eq 3} | % {{Get-PSDrive $_.DriveLetter[0]}
    foreach ($drive in $drives){{
        $path = $drive.root + "*.nsf"
        cmd.exe /C dir /s /b /a /o:gn $path | out-file -append -filepath c:\windows\temp\nsffiles.txt -encoding ASCII
    }

    EOF

在这里的某个地方,我需要传递命令来获取我正在收集信息的文件的文件大小。它可以毫无问题地创建文件,但是我不知道如何将文件大小添加到输出的字符串中。

答案1

您可以尝试cmd.exe dir用以下方法替换调用(直到第一个管道)

Get-ChildItem -recurse $drive.root -include *.nsf | select directory,name,length

并将其传送至你的输出文件。

Get-ChildItem 文档 (https://technet.microsoft.com/en-us/library/ee176841.aspx

关于过滤和选择的文章(https://technet.microsoft.com/en-us/magazine/2007.04.powershell.aspx

相关内容