我想检查 MFT 服务器中的文件夹是否为空。我想使用 .sh 脚本来执行此操作。我有访问加载文件的帐户服务的凭据。不知道如何开始。找到了解决方案,但读取的是文件而不是文件夹
echo "df myfile.txt" | sftp -b - example.com
if [ $? -eq 0 ]
then
echo "File exists"
else
echo "File does not exist"
fi
答案1
您可以使用Test-Path
cmdlet。
来自 Microsoft Docs 的测试路径:
Test-Path cmdlet 确定路径的所有元素是否存在。如果所有元素都存在,则返回 $True,如果缺少任何元素,则返回 $False。它还可以判断路径语法是否有效,以及路径是否指向容器或终端或叶元素。如果 Path 是空白的空字符串,则返回 $False。如果 Path 为 $null、$null 数组或空数组,则返回非终止错误。
为了方便起见,您可以使用Invoke-Command
在远程计算机上运行该命令。
来自 Microsoft Docs 的 Invoke-Command:
Invoke-Command cmdlet 在本地或远程计算机上运行命令并返回命令的所有输出(包括错误)。使用单个 Invoke-Command 命令,您可以在多台计算机上运行命令。
因此你最终会得到如下结果:
$exists = Invoke-Command -ComputerName [hostname of remote computer] -ScriptBlock {
Test-Path -Path .\folder\*
}
if($exists -eq $true){
echo "Folder is not empty"
}
else{echo "Folder is empty"}
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/invoke-command?view=powershell-7.1 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/test-path?view=powershell-7.1