Пакетный файл для проверки файла, открытого программой - PullRequest
0 голосов
/ 03 апреля 2020

Я хотел бы использовать список задач, чтобы определить конкретный c Доступ к открытому файлу проекта. Хотя я вижу файл, открытый в диспетчере задач, я не могу найти этот файл с помощью пакетной команды tasklist. Любая помощь?

1 Ответ

0 голосов
/ 03 апреля 2020

Если у вас есть известная строка в заголовке окна, , как, например, имя файла , вы сможете фильтровать TaskList по вашим известным ImageName, (MSACCESS.EXE) , опция /V erbose и перенаправить вывод в find.exe. Если вы сделаете это в течение For /F l oop, вы сможете TaskKill сделать это в части Do.

@For /F "Tokens=2Delims=," %%G In ('^""%__AppDir__%tasklist.exe" /Fi "ImageName Eq MSACCESS.EXE" /V /Fo CSV^|"%__AppDir__%find.exe" /I "MyFile.accdb" 2^>NUL^"')Do @"%__AppDir__%taskkill.exe" /PID %%~G

Очевидно, вы бы изменили "MyFile.accdb" на ваше известное имя файла.

[Edit /]

Вот пример, (без TaskKill) , просто определить, открыт ли файл в Access.

@("%__AppDir__%tasklist.exe" /Fi "ImageName Eq MSACCESS.EXE" /V /Fo CSV 2>NUL|"%__AppDir__%find.exe" /I "MyFile.accdb">NUL&&(Echo File is open.)||Echo File is not open.)&Pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...