Otro problema con "For" (SOLUCIONADO)

Iniciado por SuperDraco, 4 Diciembre 2009, 13:29 PM

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

SuperDraco

hola, me surge un problema con for, teniendo en cuenta que el archivo se llama:
[ Menu del raton ] - Mostrar archivos ocultos.exe

Hago esto:
for /f "tokens=*" %%i in ('dir /b *menu*.exe') do Start /w "%%i"
y da como resultado esto: start /w "[ Menu del raton ] - Mostrar archivos ocultos.exe"

Así no me puede funcionar, porque la primera comilla tiene que ir despues del signo [, así
Start /W [" Menu del raton ] - Mostrar archivos ocultos.exe"

Entonces... que puedo hacer para resolverlo??? el parametro tokens me puede servir?? y como???

espero alguna respuesta y graciassss


EDITO: por mi cuenta acabo de conseguir algo:

for /f "tokens=2,*" %%i in ('dir /b *menu*.exe') do Start /w [" %%i"

el problema es que me da como resultado esto:

Start w/ [" Menu"

Vamos, que no imprime los espacios, el nombre entero del archivo...  :-(
No se si con el parametro delims se puede arreglar esto pero no se como hacerlo...


EDITO (2): Bueno al fin voy entendiendo poco a poco como funciona FOR, ya lo he conseguido hacer, pero de una forma un poco bruta...  

for /f "tokens=2,3,4,5,6,7,8,9,10,11,12,13,14* delims=, " %%i in ('dir /b *.exe') do Start /w [" %%i %%j %%k %%l %%m %%n %%o %%p %%q %%r %%s %%t %%u %%v"

solo tengo una duda...
con ese ultimo comando de for, consigo este resultado:

Start /w [" Menu del raton ] - Cambiar sonidos.exe       "

La comilla la pone donde quiere... aun asi, me funciona, pero me gustaria que se hiciera mas correctamente, que se imprimiera así: .exe"
No he vuelto, solo estoy de paso.

leogtz

No sé porque te complicas usando un nombre de esos.

Pero bueno, a ver si te sirve esto:

for /f "tokens=1,2* delims=[]" %%a in ('dir /b *ocultos.exe*') do (
start /w ["%%a]%%b"
)
Código (perl) [Seleccionar]

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

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

SuperDraco

Perfecto, me ha servido mucho mas que el mio, Gracias Leo, al final lo he dejado a mi manera combinando tu code:

for /f "tokens=1,2* delims=[]" %%a in ('dir /b *menu*.exe') do echo+ & echo+ Instalando los registros... & start /w ["%%a]%%b"

saludos!
No he vuelto, solo estoy de paso.