Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: EAMP14 en 19 Abril 2012, 06:31 am



Título: [BATCH] Ayuda con algoritmo, Accion sobre archivo de texto
Publicado por: EAMP14 en 19 Abril 2012, 06:31 am
Hola que tal, estoy aqui de nuevo molestando. Recientemente empeze un proyecto personal, el cual es realizar un adminsitrador de mis sitios. Esta bastante avanzando debo decir, solo que aun hay pequeños detalles que aun no estan definidos.

Hipoteticamente tengo un archivo de texto el cual se guardara el nombre del sitio
ejemplo:

Citar
www.elhacker.net
www.youtube.com
www.taringa.com
www.etc.com

Lo que necesito es que me devuelva el contenido enumerado en una lista dentro del mismo bat, es decir.

Citar
1. www.elhacker.net
2. www.youtube.com
3. www.taringa.com
4. www.etc.com

Pero que al hacer esto pueda trabajar con los numeros, o al menos con la linea que contiene el respectivo nombre.

Lo siguiente seria ser capaz de redirigirme a ese sitio, agregar y eliminar algun sitio deseado.

Al tratar de visualizar los sitios utilizo este codigo

Código
  1. IF NOT EXIST "%USERPROFILE%\PADM\Sites.txt" (echo No existe registro de sitios & pause & GOTO :ADDSITE) else (GOTO :SHOWP)
  2.  
  3. :SHOWP
  4. CLS
  5.  
  6. FOR /F "tokens=*" %%S IN (%USERPROFILE%\PADM\Sites.txt) DO (echo %%S)
  7. CHOICE /M "Desea ser redirigido a un sitio: "
  8. IF %errorlevel% EQU 1 (GOTO :REDIR) else (GOTO :ADM)
  9.  
  10. :REDIR
  11. SET /P "NS= Numero de sitio: "
  12. FOR /F "tokens=* skip=%ns%" %%R IN (%USERPROFILE%\PADM\Sites.txt) DO (START)
  13.  
  14.  

Como se daran cuenta no se si es posible hacer lo que intento, que atravez del numero de linea salte la linea en el txt hasta el sitio que deseo y de ahi inicie el sitio web.

Al agregar un sitio este es el codigo que tengo.
Código
  1. :ADDSITES
  2. CLS
  3.  
  4. echo (Agregar Sitio)
  5. echo Ejemplo:
  6. echo Nombre del sitio: www.elhacker.net (WWW. es implicito)
  7.  
  8. SET /P "site= Nombre del sitio: www."
  9.  
  10. echo www.%site% >> "%USERPROFILE%\PADM\Sites.txt"
  11.  
  12. CHOICE /M "Desea agregar otro sitio: "
  13. IF %errorlevel% EQU 1 (GOTO :ADDSITES) else (GOTO :MENU)
  14.  

Al eliminar no tengo mucha creatividad, y la ultima vez termino borrandome todo lo que contenia el directorio incluido el fichero bat.

Código
  1. :DELSITE
  2.  
  3. FOR /F "tokens=*" %%S IN (%USERPROFILE%\PADM\Sites.txt) DO (echo %%S)
  4.  
  5. SET /P "ND= Numero de sitio a eliminar: "
  6. FOR /F "tokens=* skip=%ND%" %%R IN (%USERPROFILE%\PADM\Sites.txt) DO (DEL
  7.  
  8.  

igual me he quedado atorado, despues del DO,

He tratado diferentes metodos, buscado temas similares y experimentando, como siempre, este es mi ultimo recurso, asi que por favor espero su ayuda. Tambien si tienen alguna otra idea mejor o algun uso de menos codigo seria de ayuda, cualquier critica es bienvenida.

PD: No puse todo el codigo, solo son las partes en detalles que teme faltan.


Título: Re: [BATCH] Ayuda con algoritmo, Accion sobre archivo de texto
Publicado por: Eleкtro en 19 Abril 2012, 13:43 pm
El problema del número y de abrir la url en el navegador:

Código:
@Echo OFF
Setlocal enabledelayedexpansion

FOR /F "tokens=*" %%S IN (test.txt) DO (
Set /A num+=1
Set "Url!NUM!=%%S"
echo !NUM! %%S)
Echo: | more

CHOICE /M "Desea ser redirigido a un sitio: "
IF %errorlevel% EQU 2 (GOTO :ADM)

:REDIR
SET /P "NUM= Numero de sitio: "
REM START /B "RUTA DE TU NAVEGADOR" !URL%NUM%!
START /B C:\"Program Files (x86)\Mozilla Firefox\firefox.exe" !URL%NUM%!
Pause
Exit


El problema de eliminar una linea de texto:
[BATCH] Como buscar y eliminar una linea de texto (Solucionado) (http://foro.elhacker.net/scripting/batch_como_buscar_y_eliminar_una_linea_de_texto_solucionado-t359358.0.html)

Salu2