Ir ao conteúdo
  • Cadastre-se

executar programa no .bat


Victorddtank

Posts recomendados

Pessoal, eu sou iniciante por aqui..

e eu to precisando de uma ajuda...

estou tentando instalar o firefox atraves do .bat

quando eu executo:

start %SystemRoot%\System32\Calc.exe

funciona sem problemas, a calculadora abre...

mas quando eu executo:

start "I:FirefoxSetup6.0.exe"

que é o caminho aonde esta o setup do firefox no pendrive. ele não executa..

alguem pode me dar uma ajudar?

Link para o comentário
Compartilhar em outros sites

De início tem um erro na linha de comando, o correto seria:

START "I:\FireFoxSetup6.0.exe"

Coloquei a barra após o I:

Se não for só isso, poste o erro que ocorre no .bat, sendo que para conseguir ler o erro é necessária a adição do comando PAUSE logo após a linha do START

Ficaria assim:

START "I:\FireFoxSetup6.0.exe"
PAUSE

Aguardo, até ^_^

Link para o comentário
Compartilhar em outros sites

Primeiramente, eu queria dizer que eu coloquei o nome do topico errado, o nome deveria ser "instalar programas via .bat" mas isso é irrelevante..

AlyssonMaster :=> eu postei errado o caminho que eu te falei... eu ja havia colocado o "\" mas mesmoa assim deu errado... Depois eu vejo qual é o problema... porque eu arrumei outro...

Bom, nesse tempo, que eu esperava por resposta, eu encontrei um video, que mostrava algo semelhante do que eu queria. So que a diferença é que, no turorial, mostrava como executar, e o que eu quero é instalar...

Com finalidade em instalar programas pós formatação, sem ter que ficar clicando duas vezes. Eu quero diminuir esse tempo que eu perco clicando 2x nos setup's...

Encontrei esse video:

Como podem ver.. ele mostra como executar... e não como instalar..

Eu pensei que se eu substitui-se(ta certo o "substitui-se" né gente? se num tiver ignora... kkkk) o arquivo que executa o programa, pelo setup fosse dar certo..

então, eu substitui... e ficou assim:


@echo off
cls
:start
echo 1.Firefox
echo 2.GoogleChrome
echo.
set/p X=iniciar:
IF '%x%'=='1'GOTO NUM_1
IF '%x%'=='2'GOTO NUM_2
:NUM_1
cd W:\FirefoxSetup6.0
start W:\FirefoxSetup6.0.exe %1%
exit

:NUM_2
cd W:\ChromeSetup
start W:\ChromeSetup.exe %1%
exit

W: => é o caminho do pendrive aonde estão os setup's

Depois que eu terminei eu salvei como .bat (obvio, nem precisava ter dito)..

E apareceu essa tela:

http://imageshack.us/photo/my-images/42/amostra.png/

Como Podem ver pelo codigo e pela tela, eu tentei configurar cada nº pra apertar enter e instalar o programa.

E é ai que esta o problema, quando eu aperto o nº 1, e enter, ele instala o Firefox normalmente...

E quando eu aperto o nº 2, Ele também instala o firefox, que esta errado, o nº 2 esta programado pra instalar o Chrome Ao invés do firefox..

Eu queria saber se tem como alguem me ajudar a encontrar a resposta, do por que não esta abrindo o Firefox na 2º opção ao invés do Chrome?

ou por erro meu, ou por qualquer outro motivo.

valeu pela paciencia e pela atenção de quem leu..

e me desculpa pelo texto dissertativo....

Link para o comentário
Compartilhar em outros sites

Há muito tempo eu fiz um programinha com o mesmo propósito do seu, tenho certeza que posso te ajudar em tudo que precisar. Sobre o seu código, aqui está o mesmo corrigido:

@echo off
cls
:start

echo 1.Firefox
echo 2.GoogleChrome
echo.

set/p CHOICE=iniciar:

IF [%CHOICE%]==[1] GOTO NUM_1
IF [%CHOICE%]==[2] GOTO NUM_2

:NUM_1

cd W:\FirefoxSetup6.0
start W:\FirefoxSetup6.0.exe %1%
exit

:NUM_2

cd W:\ChromeSetup
start W:\ChromeSetup.exe %1%
exit

É interessante tabular e saltar linhas para uma melhor leitura do código.

No comando IF todas as tags são separadas por espaços.

start W:\FirefoxSetup6.0.exe %1%

Esse %1% é o parametro que você especifica ao abrir o batch pela linha de comando, exemplo:

Arquivo.bat config1

%1% = config1

Não recomendo utilizar variáveis pequenas como %A%, %B%, %2%, pois elas podem estar sendo usadas por outros comandos como o FOR e os parâmetros de inicialização. Por isso usei a CHOICE.

Qualquer coisa pode perguntar! Até!

Link para o comentário
Compartilhar em outros sites

Cara, perfeito.... e funcionou perfeitamente...

Mas agora me surgiu mais uma duvida....

Por exemplo, esse W: é o local do meu pendrive no meu computador, ou seja, esse arquivo, ele não vai ser aberto, quando o drive do meu pendrive for I:, em outro conputador por exemplo....

agora deixa eu te fazer uma outra pergunta...

Tem como eu colocar, esse caminho aleatorio?

Por exemplo, ao invés de W:, abrir o arquivos que estão, no pendrive, independente desse caminho?

Link para o comentário
Compartilhar em outros sites

Tem sim, contando que o batch esteja no seu pendrive. Para "pegar" a letra do pendrive você faria assim:

SET LETRAPD=%CD:~0,2% --> Agora a variável %LETRAPD% tem o valor da letra do seu pendrive, por exemplo "G:", lembrando que este código deve ser inserido no início do batch.

Agora você altera a letra do caminho do batch:

%LETRAPD% --> Que é o mesmo que "G:"

Em seguida é so digitar o caminho dos programas que você quer executar, como por exemplo:

start \Programas\Instaladores\Firefox.exe

Até!

Link para o comentário
Compartilhar em outros sites

Código corrigido:

@echo off

SET LETRAPD=%CD:~0,2%

cls
:start

echo 1.Firefox
echo 2.GoogleChrome
echo.

set/p CHOICE=iniciar:

IF [%CHOICE%]==[1] GOTO NUM_1
IF [%CHOICE%]==[2] GOTO NUM_2

:NUM_1

start %LETRAPD%\Programas\Instaladores\Firefox.exe
exit

Setamos a variável %LETRAPD% apenas para puxar um "G:" sempre que preciso, um exemplo seria você ir pro C: para executar um comando qualquer e querer voltar pra unidade do seu pendrive, então o comando para voltar seria %LETRAPD%. No seu código a variável foi setada mas não foi usada sendo assim inútil. Se o seu intuito é sempre usar a unidade onde o batch está salvo (se está no seu pendrive você quer usar a unidade do pendive) então podemos resumir esse código, assim:

@echo off
cls
:start

echo 1.Firefox
echo 2.GoogleChrome
echo.

set/p CHOICE=iniciar:

IF [%CHOICE%]==[1] GOTO NUM_1
IF [%CHOICE%]==[2] GOTO NUM_2

:NUM_1

start \Programas\Instaladores\Firefox.exe
exit

Não especifiquei a unidade do meu caminho (em \programas\intaladores\firefox.exe) então o sistema pega a unidade de onde o batch está salvo (se o caminho não foi alterado no progresso do batch), a do seu pendrive.

Link para o comentário
Compartilhar em outros sites

Vamos resumir então. Coloca o batch e os instaladores na mesma pasta e chama cada arquivo apenas pelo nome, assim:

@echo off
cls
:start

echo 1.Firefox
echo 2.GoogleChrome
echo.

set/p CHOICE=iniciar:

IF [%CHOICE%]==[1] GOTO NUM_1
IF [%CHOICE%]==[2] GOTO NUM_2

:NUM_1

start Firefox.exe
exit

:NUM_2

start Chrome.exe
exit

Assim não é preciso comando algum pro batch saber onde está os instaladores, já que estão na mesma pasta que ele.

Até! ^_^

Link para o comentário
Compartilhar em outros sites

Cara eu até tenho uma noção de como seria criptografar uma pasta com um batch mas na minha cabeça o código é enorme e eu levaria muito tempo pra finaliza-lo... Procure por um programa que faça isso pra você, como o WinRar, onde você compacta os arquivos e os protege com a senha.

Link para o comentário
Compartilhar em outros sites

Cara eu até tenho uma noção de como seria criptografar uma pasta com um batch mas na minha cabeça o código é enorme e eu levaria muito tempo pra finaliza-lo... Procure por um programa que faça isso pra você, como o WinRar, onde você compacta os arquivos e os protege com a senha.

Pode me dar uma ideia, por onde fazer ?

Eu mesmo quero fazer isso...

Link para o comentário
Compartilhar em outros sites

Te aconselho a trabalhar com a pasta zipada. Você zipa a pasta e criptografa, como arquivo. Use o parametro >> para gravar qualquer coisa usando o bat, por exemplo, você grava o código do arquivo zipado num outro arquivo e mais um monte de lixo pra depois você tirar o lixo e usar apenas o código do .ZIP. Exemplo:

TYPE MinhaPasta.ZIP>>Criptografado.DAT

ECHO $LixoLixoLixoLixoLixoLixoLixoLixoLixoLixoLixoLixo>>Criptografado.DAT

Depois pra extrair, seria:

FOR /F "delims=$ tokens=1" %%I in (Criptografado.DAT) do (ECHO %%I>>Descriptografado.ZIP)

Eu acho até um insulto chamar isso aí de criptografia, mas o princípio é esse. É claro que você pode incrementar usando sua criatividade...

Boa sorte!

;)

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!