本帖最后由 qazplm 于 2017-7-13 23:07 编辑
table只是输出格式,原始对象才是ps方便操作的,不知你的txt内容怎么来,但从内容看原本应该就能被ps直接处理,弄成txt再转对象,除非是特殊文本,如csv、xml、json等,否则并不能简单的转换
方法一,转为对象- $list=@();
- $t='DeviceID','VolumeName','FreeSpace','Free';
- gc '文本.txt'|Select-Object -skip 2|%{
- $a=$_.trim() -split '\s+';
- $b=New-Object Object;
- 0..3|%{Add-Member -inputObject $b -memberType NoteProperty -name $t[$_] -value $a[$_]}
- $list+=$b;
- }
- $list
复制代码 方法二,以原始对象- gwmi win32_logicaldisk -filter "DriveType=3" |format-table -autosize @{exp={$_.DeviceID};Lab="DeviceID"},@{exp={$(if($_.VolumeName){$_.VolumeName}else{$_.DeviceID[0]})};Lab="VolumeName"},@{exp={"{0:n0}" -f ($_.FreeSpace/1gb)};Lab="FreeSpace"},@{exp={"{0:n0}" -f ($_.FreeSpace/$_.Size*100)};Lab="Free"}
复制代码 方法三,直接处理txt |