diff --git a/kernel/util/runtime.go b/kernel/util/runtime.go index 358c256d2..e15ccda3b 100644 --- a/kernel/util/runtime.go +++ b/kernel/util/runtime.go @@ -294,6 +294,10 @@ func existAvailabilityStatus(workspaceAbsPath string) bool { return false } + if !gulu.File.IsExist(workspaceAbsPath) { + return false + } + // 改进 Windows 端第三方同步盘检测 https://github.com/siyuan-note/siyuan/issues/7777 defer logging.Recover() @@ -303,6 +307,11 @@ func existAvailabilityStatus(workspaceAbsPath string) bool { dataAbsPath := filepath.Join(workspaceAbsPath, "data") dir, file := filepath.Split(dataAbsPath) + if !gulu.File.IsExist(dataAbsPath) { + dataAbsPath = workspaceAbsPath + return false + } + unknown, err := oleutil.CreateObject("Shell.Application") if nil != err { logging.LogWarnf("create shell application failed: %s", err)