Normas del foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Noviembre 18, 2008, 06:56:06
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
|Shadow|
) | Tema:
comando for
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: comando for (Leído 631 veces)
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
comando for
«
en:
Marzo 03, 2006, 05:13:34 »
este comando sigue dando problemas, y queria ver si ustedes me podian solucionar uno.
el tema es que yo tengo un txt lleno de lineas. y necesito guardar TODAS las lineas o alguna parte de TODAS las lineas. como puedo hacer esto? porque acuerdense de que el comando for scanea todas y, como va haciendo todo en la misma variable, sobreescribe la informacion y al final queda solo la ultima linea.
este problema lo pude solucionar poniendo algunos caracteres especiales en las lineas, entonces hacia un find de ese caracter y me copiaba solo esa linea, pero el problema es que si hago un tasklist >> hola.txt, por ejemplo, no puedo agregarle estos caracteres. que ideas tienen para solucionar esto?
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Modus
Visitante
Re: comando for
«
Respuesta #1 en:
Marzo 03, 2006, 05:19:49 »
En este tema Saok pone un link a un tutorial hecho por i_berbeu bastante bueno miratelo:
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
En línea
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #2 en:
Marzo 03, 2006, 05:25:48 »
ya me lo lei a ese manual, y un par de veces. tambien lei un monton de post en el que hablan de este comando, pero creo que nadie dio esta solucion, por eso puse este tema. (si queres borra este tema y lo pongo en alguno de for ya creado, como quieras, a mi me da igual)
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Modus
Visitante
Re: comando for
«
Respuesta #3 en:
Marzo 03, 2006, 05:38:10 »
No, bueno se puede quedar abierto hasta solucionar tu duda si no has sido capaz de encontrar respuesta despues de buscar
En línea
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #4 en:
Marzo 03, 2006, 07:46:26 »
Supongo que queres algo como esto
bueno yo no tengo tasklist, pero creo que seria algo parecido con dir /b
@echo off
dir /b > file.tst
for /f "tokens=*" %%a in (file.tst) do echo %%a
del file.tst
pause
Pero tambien puedes hacerlo con tasklist pero yo no lo tengo
intenta con eso
Salu2
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #5 en:
Marzo 03, 2006, 07:58:36 »
no funciona asi. porque el objetivo es guardarlo en una variable. yo tambien habia pensado hacerlo asi, pero no funciona.
yo hice esto, hacelo y fijate los resultados:
for /f "tokens=*" %a in (1.txt) do set a=%a
set
fijate que cuando muestra la variable a solo aparece la ultima linea del archivo.
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #6 en:
Marzo 03, 2006, 08:14:10 »
este programa crea una variable con cada uno de ellos
#####################################
@echo off
set /a n=0
:xd
dir /b > file.tst
for /f "tokens=*" %%a in (file.tst) do call :proceso %%a
del file.tst
pause
:proceso
:: aqui colocas todo el proceso que queres hacer
:: por ejemplo hacer variable con %1
set a=%1
echo %a%
#####################################
@echo off
set /a n=0
:xd
dir /b > file.tst
for /f "tokens=*" %%a in (file.tst) do call :proceso %%a
del file.tst
pause
:proceso
set a=%1
set /a n=%n%+1
echo directorio%n%: %a%
#####################################
Salu2
«
Última modificación: Marzo 03, 2006, 08:24:59 por iobh
»
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Hendrix
Visitante
Re: comando for
«
Respuesta #7 en:
Marzo 03, 2006, 08:40:57 »
Yo estoy haciendo un programa bastante util....y tambien tengo problemas kon este komando... :-\ :-\ :-\
Lo ke me interesa es por ejemplo ke el programa me ponga en un .txt el resultado de una kadena del registro en un .txt (asta aki no problem)
pero luego por ejemplo tengo esto:
Reg_SZ "C:\Windows\blablabla.exe"
Reg_Sz "C:\laralarala.exe"
Y lo kiero hacer yo es extraer todos los directorios de este txt y poner solo los directorios dentro de otro .txt....
Y no enkuentro la manera de komo hacer esto.... :-\ :-\ :-\
Weno, Perdon TheTeam por poner una duda mia en tu post, pero era por no poner masd posts sobre este komando.... :-\ :-\
Salu2
Hendrix
En línea
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #8 en:
Marzo 03, 2006, 08:59:03 »
Prueba con esto
@echo off
echo Reg_SZ "C:\Windows\blablabla.exe" > file.txt
echo. >> file.txt
echo Reg_Sz "C:\laralarala.exe" >> file.txt
for /f "tokens=2" %%a in (file.txt) do echo %%a
del file.txt
pause
Salu2
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #9 en:
Marzo 04, 2006, 07:45:10 »
iobh, me seguis sorprendiendo! funciona como yo queria.
y hendrix no hay problema.
ahora, yo tambien habia pensado algo parecido a lo de iobh, aunque no me funciona, miren y diganme el error:
set a=0
for /f %a in (1.txt) do set /a a=%a%+1 & set %a%=%a
supongo que el problema es que el comando for hace todo en un mismo momento, y no es que le pasa el comando for por cada linea, me siguen?
supongo que por eso la parte del call
bueno, igual, el problema esta resuelto, aunque es un poco complicado entender el codigo, el resultado es el que esperaba.
gracias iobh
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #10 en:
Marzo 04, 2006, 08:40:47 »
ah, y si alguien podria explicar un poco el codigo me haria el favor. porque un poco me pierdo.
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #11 en:
Marzo 04, 2006, 09:55:27 »
AH yo te lo explico
mira
@echo off
set /a n=0
:xd
dir /b > file.tst
for /f "tokens=*" %%a in (file.tst) do call :proceso %%a
del file.tst
pause
:proceso
set a=%1
set /a n=%n%+1
echo directorio%n%: %a%
Linea por linea
::Apaga echo
@echo off
:: creala variable n con valor 0
set /a n=0
::seccion xd
:xd
:: hace un dir /b y lo guarda en file.tst
dir /b > file.tst
::Hace un for a file.tst y usa tokens=* osea todo * y a partir de cada linea llama al :proceso
::a partir de la variable %%a
for /f "tokens=*" %%a in (file.tst) do call :proceso %%a
::a partir de aca se ejecuta todo lo que biene despues de el proceso de cada linea
:: borra el file.tst
del file.tst
::pause
pause
::seccion proceso
:proceso
::crea una variable llamada a a partir de %1 osea %%a osea la linea de tokens
set a=%1
::Le suma a la variable n 1 tras cada linea que susede por el for
set /a n=%n%+1
::muestra directiorio:n: nombre del directorio a partir de %a% a partir de %1 a partir de
::cada linea creada por el tokens que estan en el file.tst
echo directorio%n%: %a%
::Luego de ejecutar eso con la priemra linea vuelve al for y sigue con a siguente linea
::y haci hasta el final.
Para que puedas ver este proceso mas faci guarda este archivo y ejecutalo
##########################################################
cd\
set /a n=0
:xd
dir /b > file.tst
for /f "tokens=*" %%a in (file.tst) do call :proceso %%a
del file.tst
pause
:proceso
set a=%1
set /a n=%n%+1
echo directorio%n%: %a%
##########################################################
NOTA!!!!!!
SIN EL @ECHO OFF
PARA QUE VEAS COMO SE EJECUTA CADA COMANDO
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #12 en:
Marzo 06, 2006, 01:45:28 »
Hola,
bueno leyendo este post "antiguo"
descubri que no habia leido un post de theatem
que decia haci
Citar
set a=0
for /f %a in (1.txt) do set /a a=%a%+1 & set %a%=%a
Bueno de echo Si su pueden hacer hartos comandos a la vez,
es mas puedes usar parentesis como if
te muestro un ejemplo simple
@echo off
echo 69 > 1.txt
set a=0
for /f "tokens=*" %%a in (1.txt) do (
set /a a=%a%+1
set b=%%a
)
echo %a%
echo %b%
pause > nul
exit
guardenlo y veran que si funciona. XD
Salu2
IF %usuarios%==No_entendieron echo iobh explicara
IF %usuarios%==Entendieron echo bien =)
pause
exit
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #13 en:
Marzo 06, 2006, 02:14:52 »
set usuarios==entendi bien
msg * gracias iobh
echo jeje
echo anduvo bien, ahora me voy a poner a probar y despues escribo de nuevo
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #14 en:
Marzo 06, 2006, 02:51:03 »
que mal no funciona.
al principio pense que si, pero cuando hice mas "experimentos" pude ver que no, la variable a queda en uno, o sea que le sumo solo una vez, no una por cada linea.
lo que yo hice fue modificarlo un poco para lograr lo que queria, pero no funciono, miren:
echo hola > 1.txt
echo como >> 1.txt
echo va >> 1.txt
set a=0
for /f "tokens=*" %%a in (1.txt) do (
set /a a=%a%+1
set %a%=%%a
)
set
pause > nul
exit
aca la variable a queda en 0 y la variable 0 queda en va, o sea la ultima linea.
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #15 en:
Marzo 06, 2006, 03:26:24 »
pero creo que esto esta mal
set %a%=%%a
no puedes crear una variable con %varname%
esta mal el code de set no el for
Salu2
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #16 en:
Marzo 06, 2006, 03:57:34 »
si lo hago por separado el set me funciona perfecto, debe ser cuando se juntan los dos comandos.
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
iobh
Magic Flames
Colaborador
Desconectado
Mensajes: 693
Odi Profanum Vulgus et Arceo
Re: comando for
«
Respuesta #17 en:
Marzo 06, 2006, 05:48:39 »
ajajaja, al fin entendi lo que querias hacer XD
ahora entiendo que queres saver el resultado total de directorios o algo haci.
bueno
no la verdad
for in () do ()
no funciona por que al llamar el proceso con el call :proceso
si funciona ya que hay estas llamando al proceso con cada una de las lineas del for.
pero for in() do(comandos)
funciona pero no igual a como llamar el proceso
Salu2
En línea
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."
-Albert Einstein
Theteam
mucha observacion y poco razonamiento llevan a la verdad
Colaborador
Desconectado
Mensajes: 432
Re: comando for
«
Respuesta #18 en:
Marzo 07, 2006, 02:23:25 »
que lastima, mi idea no funciono. pero bueno, esta la tuya que si funciona, asique a utilizar la tuya se ha dicho
En línea
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Necesitas ser usuario para ver los enlaces
Crear Usuario
Hacer Sesion
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Batch
(Moderadores:
Espectro Infernal
,
|Shadow|
) | Tema:
comando for
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Seguridad
=> Phreaking
===> Moviles
=> Bug y Exploits
===> Directorio de Exploits
=> Wargames, Retos Hack
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas Generales
===> Php
===> Html, XHTML, CSS
===> Java - Java Script
===> CMS O Scripts Pre-Fabricados
===> Posicionamiento en buscadores
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Biblioteca Tecnica
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
===> Juegos de Consola
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.7
|
SMF © 2006-2007, Simple Machines LLC
Loading...