problema con variantes y rutas [batch] (SOLUCIONADO)

Iniciado por SuperDraco, 18 Noviembre 2009, 12:06 PM

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

SuperDraco

Hola, tengo un problema al que le he intentado buscar la solucion mucho tiempo ya, espero que alguien pueda ayudarme...

Set ruta1=cd %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\*.default
set ruta2=%ruta1%\prefs.js
Set var=user_pref("browser.download.manager.scanWhenDone", false);
Echo %var% >> %ruta2%

que es lo que hago mal???, he probado con comillas y sin comillas, y lo unico que hace es crear un archivo llamado "cd" en mi %userprofile%  :(...

lo que me gustaria hacer es que abriese una ruta, y luego a la siguiente variante decirle que opere desde la ruta de "ruta1"...y luego pues el resto.... gracias

Nota del Mod : Para algo está la etiqueta código, usala.
No he vuelto, solo estoy de paso.

Darioxhcx

#1
Set ruta1="%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\*.default\prefs.js"
Set var=user_pref("browser.download.manager.scanWhenDone", false);
Echo %var% >> %ruta1%


para que el cd ?

SuperDraco

Cita de: Darioxhcx en 18 Noviembre 2009, 12:31 PM

para que el cd ?


Pues para intentar otro método ya que...el codigo que has puesto lo habia intentado antes y no me deja, el cmd me dice: "El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos." pero la ruta si que es la correcta, lo que pasa es que si uso el asterisco, no puedo hacer la variable, y si pongo el nombre de la carpeta entero, entonces si que me deja, pero necesito que el batch encuentre una carpeta que acabe en ".default" y haga el resto de funciones ahi, no quiero darle yo el nombre entero de la carpeta...

... pero gracias por la ayuda.
No he vuelto, solo estoy de paso.

Darioxhcx

la ruta AppData como la escribiste existe  ? yo solo tengo Application Data
estas en win xp ¿?

SuperDraco

Windows 7.
si abro una ventana del cmd y pongo: cd %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\*.default

me lleva directamente a la carpeta c:\users\administrador\AppData\Roaming\Mozilla\Firefox\Profiles\gw8zrpsr.default

pero no se como crear la variable que me lleve adentro de esa carpeta sin darle el nombre entero de la carpeta...  :-(
No he vuelto, solo estoy de paso.

Angel Doze

Hola Loko

Te voy a ayudar de forma simple y rapida, solo te voy a sacar los perfiles que estan en el ordenador y lo demas, lo empleas tu.

@echo off

Set "Perfiles=%appdata%\Mozilla\Firefox\Profiles"
dir /b "%Perfiles%" |find "." |SED "s/.default//Ig" >Perfiles.TXT

pause
goto:eof


Con eso tendras los nombres de los perfiles y ya piensa como puedes agregarlo a tu codigo :D

Salu2!

SuperDraco

muxisimas gracias angel doze! me salvas otra vez con el comando SED xD, a ver si puedo yo solo... lo uníco que se me ocurre es crear una variable que lea lo que hay dentro del texto que crea el SED en tu comando, ahora... a ver como lo consigo...que se me da muy mal :/ pero bueno me pongo a ello jaja gracias
No he vuelto, solo estoy de paso.

SuperDraco

#7
he probado esto que quizás es una locura pero bueno... no me ha funcionado... aunque podrias decirme si voy por buen camino Doze?? xD


tu comando lo e modificado para que me devuelva el nombre entero de lka carpeta, entonces teniendo en cuenta que el comando for me devuelve esto: "Linea_1=gwy8zsrp.default", y viendo que el comando for parece que crea variables por cada una de las lineas que contenga el archivo, pruebo lo siguiente...




Set "Perfiles=%appdata%\Mozilla\Firefox\Profiles"
Dir /b "%Perfiles%" |Find "." |SED "s/t/t/Ig" >c:\Perfiles.TXT    
goto reader

setlocal enabledelayedexpansion

:reader
Set c=0
For /f "tokens=*" %%a in (c:\perfiles.txt) do (
           Set /a c+=1
           Call Set lin!c!=Linea_!c! = %%a
)

For /l %%n in (1,1,!c!) do (Echo !lin%%n!)
endlocal


[color=blue]Set ruta=%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\[/color][color=red]%Linea_1%[/color][color=blue]\prefs.js[/color]
Set var=user_pref("network.http.pipelining.maxrequests", 25);

Echo %var% >> %ruta%


me crea el archivo prefs.js con la "set var" que le he dado, pero no me encuentra la ruta del perfiles, me guarda en alrchivo en la carpeta perfiles, pero no en el perfil mio que hay dentro de esa carpeta... :/
No he vuelto, solo estoy de paso.

leogtz

@pitoloko

Utiliza las etiquetas de código

Segunda llamada.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Angel Doze


Quizas sea que te estas saltando el setlocal enabledelayedexpansion,

Ya que al terminar de sacar los perfiles, pones Goto:reader y saltas el setlocal enabledelayedexpansion, y quzas las variables no se estan interpretando de forma correcta.

Deberia prober asi:


Set "Perfiles=%appdata%\Mozilla\Firefox\Profiles"
Dir /b "%Perfiles%" |Find "." |SED "s/t/t/Ig" >c:\Perfiles.TXT   
goto reader

:reader
setlocal enabledelayedexpansion


Salu2!