Executar arquivo

(Ana Carolina) #1

eu tenho um arquivo .bat, e precisaria executar ele através do php ou javascript, com passagem de dois parâmetro, teria essa possibilidade?

Arquivo:

echo off
md j:%1_%2
cd j:%1_%2
md j:%1_%2%1_ORIGINAL
md j:%1_%2%1_AGENDADO
md j:%1_%2%1_GLOSSARIOS
md j:%1_%2%1_FECHADOS
md j:%1_%2%1_QUALIDADE
md j:%1_%2%1_MEMORANDO
md j:%1_%2%1_RECEPCAO
cd j:%1_%2%1_RECEPCAO
md j:%1_%2%1_RECEPCAO%1_REVISADO
exit

(Haroldo) #2

você pode fazer isso com javascript, vc cria o bat com o próprio javascript e executa.

(Diogo Toscano) #3

Acho que seria com php n? No lado servidor?

//como se estivesse no dos, lembrando que esse comando sera dado no servidor.
exec("‘endereco do seu arquivo .bat’ parametro1 parametro2");

(Ana Carolina) #4

neu coloquei esta linha no onload do formulário e não funcionou, o diretório está mapeado dentro do servidor scriptcase, mas nem funcionou

(Diogo Toscano) #5

php nao enxerga diretorio mapeado como ja informado anteriormente.

faça um teste, bote o arquivo na maquina local onde esta rodando o php.

(Ana Carolina) #6

eu coloquei o arquivo na pasta doc do scriptcase e coloquei:
exec("’/file/doc/criardir.bat 123456 teste’");
deveria funcionar

(Haroldo) #7

utilize esse exemplo, veja se ajuda:

(Ana Carolina) #8

não funcionou…

mas pq com o exec não funcionou?

(Haroldo) #9

o exemplo que enviei funciona sim, desde que configure a segurança do seu IE para tal.
O que você quer é algo que geralmente não se pode fazer na web, pois abre uma forte brecha para segurança, para executar o o exec do php, esrte tem que estar liberado nas configurações do mesmo.
Imagine colocar um código PHP com um exec (“DELETA TUDO DO SERVIDOR”)???

no IE:
Alteracao das configuracoes de seguranca do navegador:
Ferramentas -> Opcoes de Internet -> Seguranca ->
Intranet local -> Nivel Personalizado ->
Iniciar e executar scripts de controle ActiveX nao marcados como seguro -> Ativar
Caso nao funcione:
Internet -> Nivel Personalizado ->
Iniciar e executar scripts de controle ActiveX nao marcados como seguro -> Ativar

Programar para web é diferente do que programar para desktop.

(Ana Carolina) #10

ok, blz posso até configurar para funcionar no IE, mas quem usa o Firefox e Chrome???
esse script faz parte da rotina de produção da empresa, e hoje é executado manualmente pelo cmd.

(Diogo Toscano) #11

nao funcionou pq voce nao informou o caminho completo do bat.

/algumendereco/outro/teste.html …

Se for endereço web, ira procurar “/algumendereco/outro/teste.html” a partir do endereco do seu host.
/algumendereco/outro/teste.html em endereço de arquivo, procurara na raiz do seu drive(disco, partição) …
ou seja, se o wwwroot estiver instalado no c: … “/algumendereco/outro/teste.html” é o mesmo que dizer “c:/algumendereco/outro/teste.html”

(Ana Carolina) #12

ok… mas é a passagem de parâmetros como fik?

(Diogo Toscano) #13

Como falei antes …

Exec é como se voce tivesse chamando o bat na linha de comando …

(Ana Carolina) #14

Eu fiz o html com o scritp html e rodou localmente, mas no servidor scriptcase (que é Windows) não rodou. Como eu criaria esses diretórios se o ambiente de produção rodasse em Linux?