Powershell 检查文件是否为空
我需要检查PowerShell 2.0版和5.0版中的文件Powershell 检查文件是否为空,powershell,Powershell,我需要检查PowerShell 2.0版和5.0版中的文件“file.txt”是否为空。我在这里面临的问题是PowerShell 5.0中使用的命令let在PowerShell 2.0中不起作用 (获取内容-路径。\file.txt).length-eq$Null)-返回false,即使该文件在PowerShell 5.0中为空,但在PowerShell 2.0中返回true (Get Content-Path.\file.txt).length-eq 0)-在PowerShell 5.0中返回
“file.txt”
是否为空。我在这里面临的问题是PowerShell 5.0中使用的命令let在PowerShell 2.0中不起作用
(获取内容-路径。\file.txt).length-eq$Null)
-返回false,即使该文件在PowerShell 5.0中为空,但在PowerShell 2.0中返回true
(Get Content-Path.\file.txt).length-eq 0)
-在PowerShell 5.0中返回true,但在PowerShell 2.0中返回false
这个问题有什么解决办法吗?我认为这应该行得通
if (Get-Content .\File.txt){$true}else{$false}
在PS2.0中,我认为(Get Content-Path.\file.txt).Length
不会返回任何内容。您必须使用Get Content-Path。\file.txt | select-ExpandProperty Length
但是出于您的目的,您甚至不需要查看文件的
长度
,只需要查看内容。解决方案仍然给出$false,即使文件是空的,这是正确的。预期的行为是仅当文件不为空时才返回True
。那对你不管用吗?如果没有,你可以一直这样做<代码>如果(!(Get Content.\File.txt)){$true}否则{$false}第二个解决方案会给出所需的输出如果你客观地看待它,那么哪个给出true,哪个给出false实际上并不重要。你可以围绕这一点建立你的逻辑。第二种解决方案完全是为了美观。