Есть ли способ наблюдать «доступность» файла с помощью команды Windows? - PullRequest
1 голос
/ 01 октября 2019

Наше программное обеспечение на заказ имеет проблемы с тем, как Microsoft OneDrive блокирует и синхронизирует используемые файлы. В связи с этим мы решили не поддерживать файлы сохранения в облаке. Идея состоит в том, что когда пользователь указывает на загрузку или сохранение в месте, которое синхронизируется с облаком, всплывающее окно сообщит ему, что оно не поддерживается.

Моя проблема заключается в идентификации указанного местоположения. Хотя самым простым способом было бы искать имя папки «OneDrive», я чувствую, что это не надежно, поскольку имя папки можно изменить.

Я думал о проверке, имеет ли файл «статус доступности»поскольку в проводнике это отображается, если файл находится в облаке, локально или с синхронизацией. К сожалению, я не смог найти никакого способа проверить это состояние, кроме как визуально, так как не смог вручную найти ссылки на эту функцию в реестре, командной строке или даже в журнале событий.

Пример изображения:

Существует ли команда или метод для определения этого состояния файла или папки, например, с помощью команды attrib? В качестве последнего средства, возможно, Powershell может решить мою проблему?

РЕДАКТИРОВАТЬ:
Герхард Барнард решение сработало для меня. Вот изображение.

(Спасибо редакторам за то, что превратили эти ссылки в картинки, пока я набираю достаточно очков, чтобы ТА доверял мне)
https://i.imgur.com/VSGvSKD.jpg
https://i.imgur.com/P5reVIC.jpg

Это также доступно с использованием attrib.
https://imgur.com/Yejeb4r

Как упоминалось в aschipfl , эти функции могут отсутствовать в вашей системе по неизвестным причинам, поскольку документация Microsoft кажется устаревшей, однако тестирование продолжается.

EDIT2:
Я считаю, что для того, чтобы эти функции были доступны, у вас должен быть установлен OneDrive. Обычно он запускается из C: \ Users [имя пользователя] \ AppData \ Local \ Microsoft \ OneDrive \ OneDrive.exe. Я обдумываю просто поиск этого файла вместо проверки содержимого папки перед сохранением и запросом моих пользователей.

1 Ответ

0 голосов
/ 01 октября 2019

Атрибут файла установлен в автономный режим, когда он находится в автономном режиме. Таким образом, вы можете получить атрибуты для файлов без установленного атрибута автономного режима:

for /f "delims=" %%i in ('dir /b /a-o') do echo %%i Available file.

, очевидно, с отображением автономных файлов:

for /f "delims=" %%i in ('dir /b /a:o') do echo %%i Offline file.

чтобы узнать больше об атрибутах, с cmd.exe запустите dir /? и посмотрите справку по переключателю /A.

enter image description here

...