如果我运行以下简单命令:
gci e:\mytree -r | select fullname
Run Code Online (Sandbox Code Playgroud)
它给出以下输出:
E:\mytree\folder1
E:\mytree\folder2
E:\mytree\folder3
E:\mytree\file1.txt
E:\mytree\file12.txt
E:\mytree\folder1\folder.with.dots
E:\mytree\folder1\folder.with.dots\file inside folder with dots.txt
E:\mytree\folder3\file4.doc
Run Code Online (Sandbox Code Playgroud)
有没有办法在输出中甚至包括根文件夹,以便我可以
E:\mytree
E:\mytree\folder1
E:\mytree\folder2
E:\mytree\folder3
E:\mytree\file1.txt
E:\mytree\file12.txt
E:\mytree\folder1\folder.with.dots
E:\mytree\folder1\folder.with.dots\file inside folder with dots.txt
E:\mytree\folder3\file4.doc
Run Code Online (Sandbox Code Playgroud)
@(gi e:\mytree) + @(gci e:\mytree -r) | select fullname
Run Code Online (Sandbox Code Playgroud)
@(..) 强制每个表达式的返回值是一个数组
get-childitem $root -recurse | foreach-object -begin { $arr = @((get-item $root).fullname) } -process { $arr+= $_.fullname } -end { $arr }
Run Code Online (Sandbox Code Playgroud)
使用 foreach-object cmdlet 的 begin 开关,我们在处理来自 get-childitem 的对象之前做了一些工作:我们创建一个数组并将根的文件路径放在那里。
然后对于管道中的每个对象,我们将其文件路径附加到数组中。
最后,我们将数组输出到管道。
| 归档时间: |
|
| 查看次数: |
5230 次 |
| 最近记录: |