elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda sobre comando system
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda sobre comando system  (Leído 3,506 veces)
Unvoid

Desconectado Desconectado

Mensajes: 19


Ver Perfil
duda sobre comando system
« en: 27 Octubre 2020, 10:20 am »

Hola! estoy empezando con la programacion en C y tengo una duda sobre el comando system.

en principio con las ordenes sencillas me funciona pero cuando he intentado hacer un programa que simplemente añadiera chrome a mis variables de entorno para poder ejecutar chrome desde la consola.
el
system("PATH %PATH% C:/blablabla");

no se me ejecuta, por lo que el siguiente comando como es logico (system("chrome.exe");
pues no lo puede ejecutar.

He buscado pero no consigo saber la razon por la que no funciona si en teoria el comando lo que hace es pasarle la orden a la shell.

gracias!!


En línea

Danielㅤ


Desconectado Desconectado

Mensajes: 1.838


🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: duda sobre comando system
« Respuesta #1 en: 27 Octubre 2020, 13:38 pm »

Hola, hay alternativas para ejecutar órdenes al sistema:

https://es.m.wikipedia.org/wiki/Execve

http://manpages.ubuntu.com/manpages/artful/es/man3/exec.3.html

http://sopa.dis.ulpgc.es/prog_c/PROCES.HTM




Saludos


En línea

Unvoid

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: duda sobre comando system
« Respuesta #2 en: 27 Octubre 2020, 15:38 pm »


hola!
gracias por tu respuesta, por lo que veo ese comando que dices es para sistemas UNIX, yo en principio estaba haciendo el codigo en windows :P
En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.162



Ver Perfil
Re: duda sobre comando system
« Respuesta #3 en: 27 Octubre 2020, 15:42 pm »

Saludos,

En Windows tienes que considerar que cada llamada a system() es como ejecutar una nueva cmd.exe con la instrucción dada, también que el cambio en la variable de entorno Path es temporal y solo es válido para esa cmd.exe ejecutada.

Entre las muchas soluciones que hay puedes hacer lo siguiente dependiendo de tus requerimientos:

- Editar el Path de manera permanente (SetX o haciendo el cambio en el Regedit)

- Agregar la entrada en Regedit como aplicación conocida (HKCU\Software\Microsoft\Windows\CurrentVersion\App Path), para que sea llamada con Start o Ejecutar

- Ejecutar instrucciones en cadena (con &):

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int main() {
  5.  
  6.  system("PATH %PATH%;C:\\Program Files\\Google\\Chrome\\Application; & chrome.exe");
  7.  
  8.  getchar();
  9.  return 0;
  10. }
En línea

Unvoid

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: duda sobre comando system
« Respuesta #4 en: 27 Octubre 2020, 16:21 pm »

Saludos,

En Windows tienes que considerar que cada llamada a system() es como ejecutar una nueva cmd.exe con la instrucción dada, también que el cambio en la variable de entorno Path es temporal y solo es válido para esa cmd.exe ejecutada.

Entre las muchas soluciones que hay puedes hacer lo siguiente dependiendo de tus requerimientos:

- Editar el Path de manera permanente (SetX o haciendo el cambio en el Regedit)

- Agregar la entrada en Regedit como aplicación conocida (HKCU\Software\Microsoft\Windows\CurrentVersion\App Path), para que sea llamada con Start o Ejecutar

- Ejecutar instrucciones en cadena (con &):

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. int main() {
  5.  
  6.  system("PATH %PATH%;C:\\Program Files\\Google\\Chrome\\Application; & chrome.exe");
  7.  
  8.  getchar();
  9.  return 0;
  10. }

dios eso era, que cada comando es una cmd distinta.
mil gracias, sabia que el comando que estaba poniendo solo era temporal pero no habia caido en eso de diferentes consolas, ahora tiene todo el sentido del mundo  :laugh:
muchas gracias!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre Comando Ejecutar
Programación Visual Basic
Zinc 1 1,440 Último mensaje 20 Junio 2006, 13:32 pm
por FaiF (A¥åHøRå)
Duda sobre comando extraer
Scripting
8789poli 2 6,116 Último mensaje 14 Noviembre 2008, 17:59 pm
por 8789poli
[SOLUCIONADO] duda sobre comando SYS de Telnet
Hacking
jcrack 1 3,853 Último mensaje 4 Febrero 2011, 04:10 am
por jcrack
duda sobre comando AT en batch
Scripting
crazykenny 6 4,710 Último mensaje 28 Febrero 2014, 13:54 pm
por crazykenny
Ejecutar comando en C++ sin system()
Programación C/C++
alpachino98 4 3,339 Último mensaje 11 Febrero 2019, 22:58 pm
por ThunderCls
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines