PDA

Ver la Versión Completa : [Sintaxis] Cambiar variable de entorno "Path" en ejecución


Recato53
3 de mayo de 2015, 19:26
Buenas tardes.

Quiero cambiar el Path en modo ejecución, en rmcobol cuando ejecutaba un programa cambiaba el path en un .BAT

PATH=%PATH%;\Cobview;\RT_700

En PowerCobol intento hacer lo mismo en modo ejecución, pero no funciona.

Un saludo y muchas gracias.

Kuk
3 de mayo de 2015, 19:51
Recato53, por que no funciona? Has intentado con? :

INVOKE POW-SELF "Execute" USING "C:\zzz\Cambio_Path.bat"

Recato53
3 de mayo de 2015, 20:45
Ya he probado con este código.

Pero después intento ejecutar un programa que tengo en la carpeta que he incluido en el Path y me da error.

También he comprobado si realmente me guarda el Path, mediante:

INVOKE POW-SELF "Execute" USING "CMD /C SET > PATHNUEVO" POW-SWSHOWMINIMIZED

Y no añade el Path nuevo.

Roger
3 de mayo de 2015, 21:25
Recato
Prueba de esta forma inserta un CMFOLDER1, CMFILE1 en tu form
WORKING STORAGE.
01 FOLDER-NAME PIC X(256).
PROCEDURE DIVISION.
MOVE "path" OF CmFolder1 TO FOLDER-NAME.
INVOKE POW-SELF "Execute" USING "C:\zzz\Cambio_Path.bat"
invoke pow-self "THRUEVENTS".
MOVE FOLDER-NAME TO "Path" OF CmFile1.

Kuk
4 de mayo de 2015, 09:06
Para mi, es un problema de derechos del usuario desde el cual ejecutas el programa.

Rapinto
7 de mayo de 2015, 00:11
Recato,

Utiliza o seguinte:

Na Form em Special Names :

ENVIRONMENT-NAME IS ENVNAME
ENVIRONMENT-VALUE IS ENVVAL.


Na form coloca o seguinte código:

ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVVAR PIC X(032).
01 RESULTADO PIC X(1024).
PROCEDURE DIVISION.
DISPLAY "PATH" UPON ENVNAME.
ACCEPT RESULTADO FROM ENVVAL.
MOVE RESULTADO TO "CAPTION" OF CMSTATIC1.

Para alterar a variável utiliza o seguinte código:


DISPLAY "PATH" UPON ENVNAME.
DISPLAY "c:\" UPON ENVVAL.


Pela Documentação do Fujitsu Cobol, diz que funciona.

Un Saludo,
Rui PInto

Recato53
17 de mayo de 2015, 20:58
La solución de RAPINTO funciona correctamente.

Muchas gracias.

Recato53
10 de agosto de 2015, 14:25
Recato,

Utiliza o seguinte:

Na Form em Special Names :

ENVIRONMENT-NAME IS ENVNAME
ENVIRONMENT-VALUE IS ENVVAL.


Na form coloca o seguinte código:

ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ENVVAR PIC X(032).
01 RESULTADO PIC X(1024).
PROCEDURE DIVISION.
DISPLAY "PATH" UPON ENVNAME.
ACCEPT RESULTADO FROM ENVVAL.
MOVE RESULTADO TO "CAPTION" OF CMSTATIC1.

Para alterar a variável utiliza o seguinte código:


DISPLAY "PATH" UPON ENVNAME.
DISPLAY "c:\" UPON ENVVAL.


Pela Documentação do Fujitsu Cobol, diz que funciona.

Un Saludo,
Rui PInto

Cuando ejecuto programas en RmCobol tengo separado los programas de los ficheros, la solución que tengo para poder ejecutar los programas de RmCobol estando situado en la carpeta de los ficheros es mediante la instrucción en un Bat.
SET RUNPATH=C:\Programas

Como puedo conseguir esto mismo en PowerCobol.

---------- Post added at 14:25 ---------- Previous post was at 14:03 ----------

Soluccionado, es lo mismo que para el PATH.



DISPLAY "RUNPATH" UPON ENVNAME
MOVE "\ProgramasRmCobol" TO PATH-NEW
DISPLAY PATH-NEW UPON ENVVAL