我可以包含根文件夹以编程方式获取子项输出吗? [英] can I include root folder to get-childitem output programmatically?

查看:49
本文介绍了我可以包含根文件夹以编程方式获取子项输出吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我运行这个简单的命令:

If I run this simple command:

gci e:\mytree -r | select fullname

它给出了这个输出:

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     

有什么方法可以将根文件夹包含在输出中,以便我可以

Is there any way to include in the output even root folder, so that I could have

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    

推荐答案

get-childitem $root -recurse | foreach-object -begin { $arr = @((get-item $root).fullname) } -process { $arr+= $_.fullname } -end { $arr }

使用 foreach-object cmdlet 的 begin 开关,我们在处理来自 get-childitem 的对象之前做了一些工作:我们创建一个数组并将根的文件路径放在那里.

Using foreach-object cmdlet's begin switch, we do some work before handling the objects from get-childitem: we create an array and put the filepath of the root in there.

然后对于管道中的每个对象,我们将其文件路径附加到数组中.

Then for each object in the pipeline, we append its filepath to the array.

最后,我们将数组输出到管道中.

Finally, we output the array to the pipeline.

这篇关于我可以包含根文件夹以编程方式获取子项输出吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆