Variables Batch en C++

Iniciado por OmarHack, 18 Julio 2014, 16:36 PM

0 Miembros y 1 Visitante están viendo este tema.

OmarHack

Necesito pasar unos valores de unas variables en batch a C++, las variables las defino en el propio código de c++ usando system pero al ejecutarse linea por linea en cuanto quiera utilizar las variables ya se han perdido sus valores.

Quiero hacer algo similar a esto:
system ("set segundo=%time:~6,2%");
system ("xcopy c:\\Users\\*.* C:\\Users\\copias\\cs_%segundo%_.txt

No funciona porque se pierde el valor de la variable y no puedo meter set y xcopy en la misma sentencia con system. Si creo un archivo .bat funciona, pero intento no depender mas que del ejecutable asique no me sirve.
Una posible solucion sería conseguir ejecutar las 2 sentencias juntas para que no se "cerrara" el símbolo de sistema y así conservara el valor de la variable segundo pero no se me ocurre como hacerlo.
Podría usar la librería time o alguna similar para obtener los segundos pero tengo que copiar y nombrar el archivo a la fuerza con xcopy y ahí es donde está el problema.
I like to test things.

eferion

tu necesitas:

* putenv: en Linux
* _putenv: en Windows enlace

Al hacer "system" se abre y se cierra una conexión de consola, al cerrarse dicha sesión se pierden los valores temporales, por eso no te funciona.


ivancea96

Sinó siempre te queda enviar el flujo de salida del comando a un archivo, y leerlo :o