powershell:如果命令后结果为空,则输出一些文本

Vyk*_*oor 3 powershell

我正在制作一个脚本来获取 Outlook 中的帐户。为此,我检索 .pst 和 .ost 文件。但是如果没有任何文件,我想写一个类似“没有找到文件”的输出这是我的代码:

 get-childitem -path C:\users\*\AppData\Local\Microsoft\Outlook*  -recurse -force -dept 1 -include *.ost, *.pst | select-object fullname, @{name='Size_MB';expression={$_.length /1MB -as [int]}}, lastwritetime | Sort-Object -Property Size_MB -Descending | out-file c:\test.txt
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西,但没有任何效果......知道吗?

非常感谢!

Hop*_*00b 5

标准方法是将 Get-ChildItem 的结果分配给变量,并从那里使用 if/else 处理它。

就像是:

$OutlookAccounts = $null;
$OutlookAccounts = get-childitem -path C:\users\*\AppData\Local\Microsoft\Outlook*  -recurse -force -dept 1 -include *.ost, *.pst | select-object fullname, @{name='Size_MB';expression={$_.length /1MB -as [int]}}, lastwritetime;

If ($OutlookAccounts -ne $null)
{
$OutlookAccounts | Sort-Object -Property Size_MB -Descending | out-file c:\test.txt;
}
Else
{
Write-Host "No files found";
}
Run Code Online (Sandbox Code Playgroud)