它包含格式化输出的这一行:
$largeSizefiles = get-ChildItem -path $filesLocation -include $Extension -recurse -ErrorAction "SilentlyContinue" | ? { $_.GetType().name -eq "fileInfo" } | where-Object {$_.Length -gt $fileSize} | sort-object -property length | Select-Object name,@{name="Size In KB";Expression={ "{0:N0}" -f ($_.Length / 1KB)}},@{name="LastWriteTime";Expression={$_.LastWriteTime}},@{name="Path";Expression={$_.directory}} -first $fileslimit
关键部分似乎是这样的:
Select-Object name,@{name="Path";Expression={$_.directory}} -first $fileslimit
我已经阅读了关于Select-Object的ss64.com教程,但是我没有找到任何解释@ {…..}形式的表达式如何格式化文本的内容.
@运算符上的ss64.com页面以@(…)格式显示,带有parens,而不是大括号.
上面的代码产生以下输出:
name : RPI-Image-1-copy.imgSize In MB : 29,477Path : D:\VirtualDriveShareLastWriteTime : 8/18/2015 6:27:51 PM
我熟悉一些编程语言,但这对我来说并不明显,我也没有在网上找到任何明确的解释.谁能指点我一个好的教程?
解决方法 Select-Object可以为每个项使用header / Values的哈希表.在这个例子中:Select-Object name,@{name="Size In KB";Expression={ "{0:N0}" -f ($_.Length / 1KB)}} ...
脚本正在选择name,然后选择“以KB为单位的名称”,该名称是从当前管道对象的Length参数派生的.
通过首先将其除以1024然后使用{0:N0}来显示它进一步格式化.
Powershell使用.Net字符串格式语法进行显示 – 在这种情况下{0:N0}转换为:
// N or n (Number): It represent how many decimal places of zeros to show.String.Format("{0:N4}",pos); //”10.0000″
您可能想看看Kathy Kam的Format 101和Format 102文章:
> https://blogs.msdn.microsoft.com/kathykam/2006/03/29/net-format-string-101/
> https://blogs.msdn.microsoft.com/kathykam/2006/09/29/net-format-string-102-datetime-format-string/
有关字符串格式的更多详细信息
总结以上是内存溢出为你收集整理的如何解析文本格式的Powershell语法?全部内容,希望文章能够帮你解决如何解析文本格式的Powershell语法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)