Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Ejecutar un archivo *.exe sin CALL "SYSTEM"


mhnico
11 de junio de 2021, 00:42
Buenas tardes, alguien sabe cual es la sentencia, para que un programa cobol ejecute un archivo .exe, sin tener que hacer CALL SYSTEM?
Desde ya muchas gracias.

JCantero
11 de junio de 2021, 10:58
Cualquier programa, de cualquier lenguaje que llame a un .EXE tiene que hacer obligatoriamente una llamada al sistema.

Cualquier programa, de cualquier lenguaje, puede llamar a funciones de objetos, libreria, DLL, etc, si están bien implementadas, si no solo para lo que este diseñado ese objeto, libreria, DLL, etc.

Kuk
11 de junio de 2021, 11:33
@mhnico, yo creo que lo mejor será que nos digas cuál es el propósito de tu pregunta? Qué intentas hacer y por qué CALL "SYSTEM" no te convence?

mhnico
11 de junio de 2021, 15:10
El problema que estoy teniendo desde que se actualizo la ultima version de windows 10, es que cuando la terminal de trabajo ejecuta el sistema que esta alojado en el disco mapeado (z:\...) y el programa hace el CALL SYSTEM, el windows me tira el error que no puede hacer el cmd al disco, y vuelve a la carpeta c:\windows, por ende en esa carpeta no encuentra los .bat que necesita el sistema donde ejecuta los .exe. Un programador me comento que hay unas sentencias de cobol que no es necesario hacer el call system para llamar a un exe.

Kuk
11 de junio de 2021, 17:08
@mhnico, me da que es un problema de derechos. Y aunque consigas otra manera de llamar a un CALL (que yo no la conozco y me extraña, seguramente el programador de hablaba de unos *.exe COBOL que son gestionados por un Run-Time) supongo que tendrás el mismo problema.

JCantero
12 de junio de 2021, 12:09
Para hacer eso, debes de llamar al .BAT con la ruta completa.

En el caso de que el .BAT llame a otros .BAT debes de posicionarte en esa carpeta y ejecutar.

Ejemplo:

Si quieres llamar a programa.bat que está en la carpeta z:\programa debes de hacer un .bat (ejecuta.bat) que se posicione y ejecute

ejecuta.bat

z:
cd \programa
programa.bat


Tu programa cobol, en vez de llamar a z:\programa\programa.bat debe de llamar a ejecuta.bat