Powershell遍历文件夹和文件非常方便。
get-childitem这个cmdlet就有一个recurse参数是用于遍历文件夹的。
powershell中,使用get-childitem来获取文件夹下面的子文件夹和文件(当然,它的功能不仅于此)。
然后,使用foreach-object的cmdlet来循环遍历下面的子对象。
然后,通过psiscontainer 属性来判断是文件夹还是文件。
get-childitem,获取指定对象的所有子对象集合。
例子,实现脚本:
复制代码 代码示例:
#获取d:对象,返回值类型为system.io.directoryinfo
get-childitem d:
#输出d:下所有文件的文件名
get-childitem d: | foreach-object -process{
if($_ -is [system.io.fileinfo])
{
write-host($_.name);
}
}
#列出今天创建的文件
get-childitem d: | foreach-object -process{
if($_ -is [system.io.fileinfo] -and ($_.creationtime -ge [system.datetime]::today))
{
write-host($_.name,$_.creationtime);
}
}
#找出d盘根目录下的所有文件
get-childitem d: | ?{$_.psiscontainer -eq $false}
查找文件夹,则把$false换成$true就可以了。
经过这些天的学习,感觉powershell老强大了,刚接触它的朋友,建议深入研究下。