• Publicidad

Ejecutar .bat desde explorer

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor alphabravo » 2009-03-04 15:05 @670

Si corro el script de Perl .pl dando dos clics sí abre el archivo, pero si lo corro en server remotamente por Internet Explorer me muestra lo que está dentro del .bat pero no lo ejecuta en el servidor ¿Por qué?
alphabravo
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-04-06 16:44 @739

Publicidad

Notapor explorer » 2009-03-04 19:33 @856

Voy a elucubrar...

Estoy sospechando que lo que pasa es lo siguiente: el system() ejecuta la línea de comando. Como la orden empieza por 'start', lo que ocurre es que en la salida estándar se recibe la línea de comandos porque es lo que se recibe en la ventana de línea de comandos que 'start' genera. Y, por defecto, al ejecutar el fichero .bat, todas las líneas que lo forman salen también por la salida estándar (todas las órdenes de un BAT salen por la salida estándar si no les ponemos un ECHO OFF al principio).

Que se vea el interior del BAT lo podría entender de esa forma, pero no que no se esté ejecutando, salvo que esté pasando algo más extraño, como por ejemplo que la aplicación EXE esté esperando por la pulsación de una tecla.

Otra causa podría ser justo la contraria: la aplicación EXE no encuentra la salida estándar y termine inmediatamente.

Desde luego, system() dentro del programa Perl ejecuta la aplicación (si el usuario que está ejecutando el servidor web tiene permisos de ejecución del programa).

Haz pruebas, como por ejemplo un fichero BAT que contenga un @ECHO "Hola" para saber si lo ejecuta o no. (La @ creo recordar que tenía el mismo cometido que el ECHO OFF).

¿No hay nadie más que aporte alguna idea?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kidd » 2009-03-04 21:07 @921

Necesitamos ver si no hay algo que esté bloqueando la ejecución, que me parece podría ser el problema.

Intenta ejecutar lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
system("C:/wamp/Apache2/cgi-bin/prueba2.bat") == 0  or print "Error en comando: $?";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Sería importante ver lo que hay dentro de $?.

Lo otro que se me ocurre es que ejecutes el comando usando los "backticks" para ver si regresa algo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $resultado = `C:/wamp/Apache2/cgi-bin/prueba2.bat` or print $?;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


A ver qué resultados tienes.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor alphabravo » 2009-03-05 23:19 @013

Ya intenté de todas formas y no me aparece nada, ningún error, y no lo ejecuta :(
alphabravo
Perlero nuevo
Perlero nuevo
 
Mensajes: 19
Registrado: 2008-04-06 16:44 @739

Notapor explorer » 2009-03-06 08:17 @387

Yo creo que el problema sigue estando en el comando 'start'.

Debería funcionar de la siguiente manera: desde el Internet Explorer ejecutamos un cgi cuya misión es ejecutar el comando con qx() (que es lo mismo que usar las backticks). Y mostrar a continuación el resultado. En pantalla solo debería aparecer el texto de salida, nada más.

Algo así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

use CGI qw/:standard/;
use CGI::Carp qw(fatalsToBrowser);

print
    header,
    start_html('SMS'),
    ;

my $resultado = qx(C:/Archivos de programa/SMSCaster/smscaster.exe -Compose 2299119373 ssdew -Start);

print p($resultado);

print end_html;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Si con los '/' no funciona, los cambiaría por '\\'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado