PowerShell - 如何检查一个文件是否存在

4

我有不同数量文件的文件夹。如何检查是否存在文件以及有多少个? 我使用了这个方法,但当只有一个文件时,它没有给我任何结果。谢谢。

我有不同数量文件的文件夹。如何检查是否存在文件以及有多少个? 我使用了这个方法,但当只有一个文件时,它没有给我任何结果。谢谢。

$number_of_files = Get-Childitem c:\folder -name -force
$number_of_files.Count
4个回答

5

把它改成这样:

$number_of_files = @(Get-Childitem c:\folder -name -force)
$number_of_files.Count

这个代码会强制$number_of_files始终是一个数组,并且正确设置计数属性,即使值为1。


这个解决方案不仅计算文件,还计算文件夹。 - Marek Dzikiewicz
@MarekDzikiewicz 我没有注意到他的问题中有这个要求。但你当然是对的。 - CB.

3

@Marek的答案是可行的,但可能不是最有效的。与其使用.GetType()和正则表达式匹配,为什么不根据文件夹对象中不存在的属性进行过滤呢?例如:

(Get-ChildItem c:\folder -name -force | where {! $_.PSIsContainer} | measure-object).count.


2

尝试

(Get-ChildItem c:\folder -name -force | where {$_.GetType() -match "fileInfo"} | measure-object).count

1
我会用measure来做这件事:
$f = Get-Childitem c:\folder -name -force
($f | measure).Count

不幸的是,这也会测量 c:\folder 文件夹中的任何文件夹。 - Thomas Lee
1
我没有注意到他的问题中有那个要求。但你当然是对的。 - jumbo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接