У меня есть клиент с FileMaker Pro Advanced от Apple на Windows Server 2008 R2. Связанный исполняемый файл — «FileMaker Pro Advanced.exe» (обратите внимание на пробелы). У моего клиента возникла проблема с закрытием FileMaker "чем-то"; частью одного из решений является написание пакетного файла для запуска каждые 15 минут, который запускает FileMaker, если он не запущен. Я помогаю с пакетным файлом.
Я предложил код, основанный на этом:
set target=FileMaker Pro Advance.exe
set startWith=(batch file that starts FileMaker)
tasklist /FI "IMAGENAME eq '%target%’" /NH 2>NUL | find /I "%target%">NUL
if "%ERRORLEVEL%"=="1" %startWith%
if "%ERRORLEVEL%"=="0" goto :EOF
Обратите внимание: конструкция командной строки tasklist требует использования набора кавычек; Я использовал двойные кавычки для них. Наличие пробелов в имени файла, казалось бы, требует еще одного набора кавычек; Я использовал одинарные кавычки выше.
Моя техника не работает; Я получаю сообщение об ошибке о неправильно сформированной команде. Вздох.
У кого-нибудь есть обходной путь?
При отсутствии лучшего предложения я попрошу системного администратора позволить мне переименовать этот файл во что-то вроде «FileMakerProAdvanced.exe»; это должно работать. Я получу это разрешение только в процентном отношении, когда попрошу. Мне нужно что-то еще на случай, если они отклонят мою просьбу.
(Соколиные глаза среди вас заметят, что имя файла состоит из 26 символов. Кажется, tasklist имеет ограничение в 25 символов. Я могу обойти это (в команде find , например) путем поиска «FileMaker Pro Advanced.ex»; это все, что список задач обеспечивает найти. И я могу использовать двойные кавычки в найти команда.)
Заранее спасибо за решения и сочувствие.