Estou surpreso que você não tenha encontrado esse comando |
Se não for ACCESS2000RunTimeInstallation RUN ACCESS2000RuntimeInstallation
; -)
Mas de qualquer forma,
Aqui está o princípio.
Eu tenho um arquivo chamado a.a e um diretório chamado c: \ windows. Eu não tenho um arquivo chamado a.b e eu não tenho um diretório chamado c: \ windows1
Pode-se dizer
if exist a.a c:\program\program.exe
Nos exemplos abaixo, você pode substituir "echo here", com o caminho de um programa
Agora, descubra quais arquivos o item de instalação do Access 2000 coloca no disco rígido e escolha um único, ou um diretório criado, e use-o para a sua instrução 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:\>
Atualizar -
Você também pode verificar o registro
Como exemplo, qualquer que seja o programa, um lugar onde você pode ver a coisa é em Adicionar / Remover programas. Aqui é o lugar no registro onde isso é armazenado. Você pode executar esse comando e rolar através disso apenas para ter uma idéia do comando
C:\>reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unins
tall | more
Um programa listado é o Windows Media Player, que você também tem
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:\>
Esse comando de consulta reg "bem-sucedido" define ERRORLEVEL como 0, ou seja, sem erro.
C:\>echo %errorlevel%
0
Se a chave não existisse, Eu procuro o Windows Media Player (observe o extra r)
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:\>
Quando% errorlevel% é > = 1, significa erro.
Então você pode testar se% errorlevel% == 0 Você pode testar SE NÃO% errorlevel% == 0
Você pode usar um ELSE
A outra sintaxe para testar ERRORLEVEL, não faça se errorlevel 0 (bobo) 'cos que pergunta se o valor é > = 0. Você diz IF ERRORLEVEL 1 (ou seja, se o valor for > = 1), ou IF NOT ERRORLEVEL 1 (ou seja, se o valor não for > = 1 ou seja, se o valor for 0 ou menor - e duvido que possa ser menor ). Ou você usa o% errorlevel%.