我不是 100% 确定如何制定这个 powershell。
如果我的 PWD 是“C:\Work\Projects\Release\20140610”,并且它本身是一个由多个子文件夹组成的目录树,这些子文件夹本身可能包含令人作呕的文件和子文件夹,我该如何格式化输出它像这样打印:
20140610\HTML\File1.html
20140610\HTML\File2.html
20140610\HTML\File3.html
20140610\HTML\Forms\Form1.html
20140610\HTML\Forms\Form2.html
20140610\HTML\Forms\Form3.html
20140610\HTML\Views\View1.html
20140610\Scripts\File1.js
编辑:
抱歉,发布得太早了。
我目前拥有的是:
$TableFormat = @{Expression={ $_.Path};Label="Name"},@{Expression = {$_.HashString};Label="Signature"}
Get-ChildItem -Recurse | ?{ !$_.PSIsContainer } | Get-Hash -Algorithm MD5 | Format-Table -AutoSize $TableFomat | Tee-Object -FilePath "C:\Signatures.txt"
现在,我相信我需要添加我的路径拆分,并且可能在文件夹检查后加入到中游。但是,因此,我没有得到全名,所以我不确定如何继续。
最佳答案
你的意思是你只需要包含当前目录的相对路径而不是完整路径?像这样的东西应该这样做:
$cwd = (Get-Item .).Parent.FullName
$re = '^' + [regex]::Escape("$cwd\")
Get-ChildItem -Recurse |
Where-Object { -not $_.PSIsContainer } |
ForEach-Object { $_.FullName -replace $re }
关于powershell - 从特定节点到叶子的拆分路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088056/