我可以获取文件名,文件中的行数和文件大小,但是无法获取文件的完整路径。
$measure = Get-Content C:\Users\Documents\Daily_files_YYYY-MM-DD.txt | Measure-Object
$lines = $measure.Count
echo "line count is: ${lines}"
Get-ChildItem C:\Users\Documents\ -Recurse|
? {! $_.PSIsContainer} |
Select-Object Name, @{Name='Size'; Expression={([string]([int]($_.Length / 1KB))) + " KB"}}
如何获得以下格式?
文件名:Daily_files_2019-01-10.txt
路径:C:\ Users \ Documents \
行数是:27723
档案大小:23 KB或MB或GB
答案 0 :(得分:0)
使用Get-Content
并展开ReadCount
属性以获取行数。文件目录的完整路径存储在其DirectoryPath
属性中。
Get-ChildItem 'C:\Users\Documents' -Recurse |
Where-Object {-not $_.PSIsContainer} |
Select-Object @{n='File Name';e={$_.Name}}, @{n='Path';e={$_.DirectoryPath}},
@{Get-Content $_.FullName | Select-Object -Expand ReadCount -Last 1}},
@{n='File Size';e={$_.Length}}
我不建议使用文件大小进行计算或将其转换为字符串,除非该值仅用于(人类可读的)输出。
请注意,PowerShell v3为-Directory
引入了一个新参数Get-ChildItem
,因此,在使用最新版本的版本时,您不需要执行额外的Where-Object
流水线步骤。