我有一个文件夹,不包含任何扩展名为"rar"的文件.我使用gci(Get-ChildItem的别名)从PowerShell命令行运行以下命令:
PS> gci *.rar
正如预期的那样,没有任何报告,因为没有这样的文件.但是当我这样做时"echo $?"
,它会返回true.
如何测试给定文件扩展名的文件是否不存在?我在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'计算括号之间指定的条件,返回一个布尔值(True或False),如果条件返回true,则执行花括号之间的代码.在这种情况下,如果gci返回0个将返回False的文件(可能等同于'if exists'),所以在第一个例子中,我们使用not运算符(!)来实质上反转逻辑以返回True并执行代码块.在第二个例子中,我们正在寻找rar文件的存在,并希望代码块在找到任何文件时执行.