Я удивлен, что вы не нашли эту команду
ЕСЛИ НЕ ACCESS2000RunTimeInstallation RUN ACCESS2000RuntimeInstallation
;-)
Но так или иначе,
Вот принцип.
У меня есть файл с именем aa и каталог с именем c:\windows. У меня нет файла с именем ab, и у меня нет каталога с именем c:\windows1
Можно сказать
if exist a.a c:\program\program.exe
В приведенных ниже примерах вы можете заменить "echo here" на путь к программе
Теперь выясните, какие файлы установщик Access 2000 помещает на жесткий диск, и выберите уникальный, или каталог, который он создает, и используйте его для выражения IF.
C:\>if exist a.a echo here
here
C:\>if exist a.b echo here
C:\>if exist c:\windows\nul echo here
here
C:\>if exist c:\windows1\nul echo here
C:\>
Обновить-
Вы также можете проверить реестр
Как пример, какой бы ни была программа, в одном месте вы можете увидеть это в «Установка и удаление программ». Вот место в реестре, где это хранится. Вы можете запустить эту команду и прокрутить ее, чтобы получить представление о команде
C:\>reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unins
tall | more
Одной из перечисленных программ является Windows Media Player, который у вас тоже будет
C:\>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unin
stall\Windows Media Player"
! REG.EXE VERSION 3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Windows M
edia Player
DisplayName REG_SZ Windows Media Player 10
UninstallString REG_SZ "C:\Program Files\Windows Media Player\Setup_wm.
exe" /Uninstall
DisplayIcon REG_SZ C:\Program Files\Windows Media Player\wmplayer.exe
ParentKeyName REG_SZ OperatingSystem
ParentDisplayName REG_SZ Windows Updates
C:\>
Эта "успешная" команда reg query устанавливает ERRORLEVEL в 0, что означает отсутствие ошибки.
C:\>echo %errorlevel%
0
Если ключ не существует, например, я ищу Windows Media Playerr (обратите внимание на дополнительный г)
C:\>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unin
stall\Windows Media Playerr"
Error: The system was unable to find the specified registry key or value
C:\>echo %errorlevel%
1
C:\>
Когда% errorlevel% равен> = 1, это означает ошибку.
Таким образом, вы можете проверить IF%% errorlevel% == 0 Вы можете проверить IF NOT% errorlevel% == 0 Вы можете использовать ELSE
Другой синтаксис для проверки ERRORLEVEL, не делать, если errorlevel 0 (глупый), потому что запрашивает значение> = 0. Вы говорите, ЕСЛИ ОШИБКА 1 (то есть, если значение> = 1), или ЕСЛИ НЕ ОШИБКА 1 (т.е., если значение не> = 1, т.е. если значение равно 0 или меньше - и я сомневаюсь, что оно может быть когда-либо меньше). Или вы используете% errorlevel%.