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