Autor
|
Tema: perdida del ambito entre llamadas system() (Leído 4,127 veces)
|
tragantras
Desconectado
Mensajes: 465
|
Bueno, despues de ese titulo tan estrambótico, procedo jaja
[aclaro que todo lo que acontinuacion expongo es en Windows como SO anfitrion]
mediante la funcion system es posible hacer llamadas al sistema, por ejemplo system("dir") devuelve el listado del directorio, y system("cd asdf") te "introduce" en la carpeta asdf, bien, pero si hago:
system("cd asdf") system("dir")
no me lista el contenido de la carpeta "asdf", sino que me lista el de la carpeta que contenga el script php. La pregunta se ve venir, no? jajaj
Como acer para no perder el ámibito entre llamdas system?! xD Para que cuando ejecute esa sucesión de llamadas a system, se liste el contenido de asdf!
Un saludo y gracias de antemano =)
|
|
|
En línea
|
|
|
|
MinusFour
|
Pues, si yo pongo dir y luego la dirección de la carpeta si me hace el listado correctamente. me devuelve los contenidos de C:\
|
|
|
En línea
|
|
|
|
tragantras
Desconectado
Mensajes: 465
|
jaja hombre era un ejemplo!
me refiero pq por ejemplo si quiero hacer:
ftp direccio.ftp.com
luego me pide los credenciales... "inline" :S
|
|
|
En línea
|
|
|
|
winroot
Desconectado
Mensajes: 589
#include<winroot.h>
|
dentro de cmd puedes hacer (echo hola & cd /d c:\ & dir /b *)
no tengo ganas de codear en php, pero intenta algo como: system("cmd /c (cd /d c:\ & dir /b *)"); igual, creo que lo mejor sería directamente escribir un script BATCH que haga todo. saludos
|
|
|
En línea
|
|
|
|
|
bomba1990
|
te recomiendo que leas mas y preguntes menos, para haya la informacion d ecualquier comando puedes escribir [elcomando] /? y hay te dira todo lo que necesitas, por ejemplo en el cmd te da informacion de como pasar varios comandos de una sola ves, y el de ftp te explica como logeart en una sola linea. SUERTE
|
|
|
En línea
|
|
|
|
MinusFour
|
Hombre, dejalo que pregunte. No pasa nada malo con preguntar cosas así, son preguntas validas.
|
|
|
En línea
|
|
|
|
Falso Positivo
|
A que te caes de culo En linux existe una variable de entorno llamada PWD que te da la ruta actual de ejecución(o ámbito como tu dices), en windows el equivalente es %CD%, prueba con setear %CD% y luego hacer el dir y me cuentas Saludos!
|
|
|
En línea
|
Don't worry, be hacked....
|
|
|
tragantras
Desconectado
Mensajes: 465
|
Antes de nada muchas gracias por contestar y por tomarte la molestia de hacerme llegar la contestación ^^ se te agradece!
Creo que me expliqué mal, a la hora de poner el ejemplo, yo lo que quería y sigo queriendo conseguir, es realizar una especie de SHELL para entornos windows. Con system no se consigue el mismo efecto porque son como llamadas independientes, es decir si tu haces.. no sé "ftp misitio.com", en una SHELL normal, continuarías poniendo los credenciales, pero con system, no podría, porque se pierde ese "ámbito" al que yo me refería.
En linux sería tan sencillo como devolver una shell con un netcat, pero windows de base viene muy limitado en ese sentido, a no ser que me salte algo de por medio :/
Espero haberme explicado ya correctamente, un saludo ^^
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Windows 7 sigue por detrás de XP en el ámbito empresarial aunque recorta ...
Noticias
|
wolfbcn
|
0
|
1,451
|
23 Junio 2011, 01:30 am
por wolfbcn
|
|
|
oerador de ambito :: o doble dos puntos
Programación C/C++
|
dewolo
|
4
|
9,692
|
10 Octubre 2011, 04:10 am
por dewolo
|
|
|
no se declaro en este ambito [SOLUCIONADO]
Programación C/C++
|
anamnesis_92
|
3
|
8,995
|
21 Enero 2012, 20:36 pm
por Littlehorse
|
|
|
¿llamadas de audio entre varios por wordpress estilo Hangouts?
Desarrollo Web
|
bacanzito
|
2
|
2,121
|
8 Marzo 2014, 02:23 am
por bacanzito
|
|
|
Problema con llamadas entre funciones.
« 1 2 »
Programación C/C++
|
doitunkboo
|
10
|
3,621
|
19 Diciembre 2018, 21:48 pm
por doitunkboo
|
|