Powershell:如何在一行中输出文件夹名称,lastwritetime和文件夹大小?

时间:2014-05-05 18:21:54

标签: windows powershell powershell-v2.0 powershell-v3.0

我想输出文件夹名称,lastwritetime和文件夹大小,如何将两个结果合并到一行?

对于文件夹名称和lastwritetime:

get-item "\\server-01\Y$\Server1" | select name,lastwritetime

对于文件夹大小:

$folder = (Get-ChildItem "\\server-01\Y$\Server1" -recurse | Measure-Object -property length -sum)
$size = "{0:N2}" -f ($folder.sum / 1024MB) + " GB"

我需要这样的输出格式:

Name       LastWriteTime       Size
Server1    2014-05-05          55G

如何通过PC列表运行此功能的循环?

请问好吗?

3 个答案:

答案 0 :(得分:2)

对于文件夹名称和lastwritetime:

Get-Item $Path | Where-Object { $_.BaseName ,$_.LastWriteTime}

对于文件夹大小:

$log="C:\log.txt"

$Path = "C:\Test"
$Items = Get-ChildItem $Path  | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object
foreach ($f in $Items){
   $itemSum = Get-ChildItem ("$Path\" + $f.Name) | Select-Object @{ l="Path" ; e = {$f}},LastWriteTime,@{l="Size" ; e={((Get-childitem -recurse | measure-object length -sum).Sum /1KB)}}

   }

享受!!

FYI

Query Folder tree for Size and export to a log on a server

答案 1 :(得分:1)

Select-Object将是您的朋友:

foreach ($c in (get-content .\Servers.txt)) { Get-Childitem \\$c\y$\mydirectory | select-object @{l="Name" ; e = {$c}},Lastwritetime,@{l="Size" ; e={(Get-childitem -recurse | measure-object length -sum).sum}} }

但你也可以自己帮个忙,并在你的个人资料或标准工具模块中添加像get-foldersize这样的函数。

http://gallery.technet.microsoft.com/Get-FolderSize-b3d317f5

答案 2 :(得分:1)

这是具有某些格式的真正的一线纸。

General

结果:

enter image description here