因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职, 索性就网上各种搜,各种Demo,各种修改,花了半天时间,最后还是拼凑出来能达到效果了。 本身对PowerShell并不熟悉,可能有些弯路,实现的也比较烂,总之是把各种小功能拼凑在一起,最后还是拼凑出来能达到效果了。 如下是原始Demo,比较幼稚,权当是自己记录的笔记了 1,文件信息统计 如下文件夹下面有六个文本文件,统计这个文件夹下面的文件名称到一个日志文件

将这个文件夹下的文件信息统计出来,存在一个指定路径的文件中,文件是根据时间生成的。

如下截图是生成的统计文件信息

如果想要统计文件的全路径的话,直接用FullName即可,$fileName = $file.FullName即可取得文件的全路径。

如果是想便利某一个路径下文件夹下面所有的文件和子文件夹的内容,可以再加上-Recurse参数,也即:$files = Get-Childitem "F:\TestPowerShell" -Recurse

此时记录的结果就是这样子的了

如果是想统计某一类型的文件,需要加上-Include *.txt参数指定后缀名,也即:$files = Get-Childitem "F:\TestPowerShell" -Recurse -Include *.txt 2,文件操作(Copy) 如上建立的文件夹以及子文件夹复制到另外一个路径中,这里新建一个文件夹,用日期和时间命名

运行脚本之后,效果如图,将指定文件夹下的文件和子文件夹下的文件copy到另外一个目录中。

如果是想把某一个路径(或者多个路径)下的所有(包括子文件夹)下的文件Copy到一个文件夹下 可以便利逐个文件Copy至目标文件夹 foreach ($file in $fileList