powershell - 使用 PowerShell 确定具有特定文件扩展名的文件是否不在文件夹中

标签 powershell powershell-2.0

我有一个不包含任何扩展名为“rar”的文件的文件夹。我使用 gci(Get-ChildItem 的别名)从 PowerShell 命令行运行以下命令:

PS> gci *.rar

正如预期的那样,由于不存在此类文件,因此没有报告任何内容。但是当我做 "echo $?" ,它返回真。

如何测试给定文件扩展名的文件不存在?我在 Windows 7 上使用 PowerShell v2。

最佳答案

#If no rar files found...
if (!(gci c:\ *.rar)){
    "No rar files!"
}
#If rar files found...
if (gci c:\ *.rar){
    "Found rar file(s)!"
}

'if' 评估括号之间指定的条件,这将返回一个 bool 值(True 或 False),如果条件返回 true,则执行大括号之间的代码。在这种情况下,如果 gci 返回 0 个将返回 False 的文件(可能相当于“如果存在”),那么在第一个示例中,我们使用 not 运算符 (!) 从本质上反转逻辑以返回 True 并执行代码块。在第二个示例中,我们正在寻找 rar 文件的存在,并希望代码块在找到时执行。

关于powershell - 使用 PowerShell 确定具有特定文件扩展名的文件是否不在文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16800746/

相关文章:

xml - 确定 XML 节点存在

regex - Powershell 正则表达式匹配域\用户名

powershell - 将用户添加到本地用户组

PowerShell:GetEventlog,时间字段为空

Python Cmd/Powershell 错误 "Traceback (Most recent call last)"

Python 解释器在 Powershell ISE 中崩溃

powershell - 文本文件中的增量版本

json - 在powershell中合并两个Json

Powershell:将对象[]输出到文件

java - 如何将参数传递给 PowerShell 脚本内的命令?