让powershell“读取”特定文件夹中的所有文件并检查是否为空

时间:2012-04-16 15:30:59

标签: powershell

我每天都会将一些文件保存到特定文件夹(xls)中。有没有办法让PowerShell将每个文件收集到一个不同的变量中(它可能是2个文件,可能是5个),然后查看每个文件中是否有超过2行文本?

2 个答案:

答案 0 :(得分:1)

我不认为您需要将它们收集到变量中,具体取决于您找到文件后要执行的操作。

基本示例: 如果我有3个名为Test1.txt,Test2.txt,Test3.txt的文本文件。只需要基本的" x行"描绘行号。一个人的内容说Test1.txt是


Line 1
Line 2
Line 3

Test2.txt在"第2行"停止,然后Test3.txt只有"第1行"。 在这种情况下可以工作的单线程解决方案,只输出大于2行的名称:


dir *.txt | foreach {if ((Get-Content $_).Count -gt 2) {$_.Name}

此代码的输出为我提供了Test1.txt。

在你的情况下你可以为" * .xls"执行dir命令。或者您正在使用的任何文件扩展名。

答案 1 :(得分:0)

这是一个很棒的脚本。我需要添加第二个项目,这也是文件中的最后一行,这就是我完成这项工作的方式。非常感谢!

dir * .log | foreach {if((Get-Content $ )。Count -gt 1){$ .Name +“,”+(Get-Content $ _)[ - 1]}} < / p>