elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 [241] 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 ... 279
2401  Programación / Scripting / Re: [AYUDA-BATCH]Cambiar datos de archivos .xml en: 19 Junio 2009, 08:46 am
El siguiente Script que hice, busca en "file.txt" (Esto tu lo cambias a tu conveniencia) la cadena :
Código:
target_area
Y edita la linea por la cadena "Leo Gutierrez" (Esto tu lo editas a tu conveniencia).
Código
  1. @echo off
  2. :: Leo Gutierrez R.
  3. :: Editar la linea con la coincidencia :
  4. :: <set name="target" val="TARGET_AREA"/>
  5. for /f "tokens=1 delims=[]" %%_ in ('type "file.txt" ^| find /i /n "target_area"') do call:edicion %%_
  6. goto:eof
  7. :edicion
  8. :: "Leo Gutierrez" es el valor que pondré.
  9. (
  10. echo %1
  11. echo ^^^<set name="target" val="Leo Gutierrez"/^^^>
  12. ) | edlin /b file.txt
  13. goto:eof

Ejecución:

Código:
C:\>type file.txt | find /i /n "target_area"
[39]  <set name="target" val="TARGET_AREA"/>
Vemos que la coincidencia esta en la línea 39.

Ejecuto el batch:
Código:
C:\>este.bat
Final del archivo de entrada
*39
      39:*  <set name="target" val="TARGET_AREA"/>
      39:*<set name="target" val="Leo Gutierrez"/>
*w
*e
Vemos como es editado el valor.

Código:
C:\>type "file.txt" | find /i /n "Leo Gutierrez"
[39]<set name="target" val="Leo Gutierrez"/>

C:\>
Por ultimo, busco en "file.txt" la cadena "Leo Gutierrez", y nos muestra la coincidencia y su linea.

Si quieres evitar que se muestre esto:
Código:
Final del archivo de entrada
*39
      39:*  <set name="target" val="TARGET_AREA"/>
      39:*<set name="target" val="Leo Gutierrez"/>
*w
*e

Agrega al código:
Código:
) | edlin /b file.txt > nul 2>&1


Para estos casos, valdría la pena echarle un vistazo a PERL.

Saludos.
2402  Programación / Scripting / Re: [Batch] almacenar nombres de carpetas en variables en: 19 Junio 2009, 02:08 am
Puedes acceder a las carpetas asi:
Código:
!linea1!
!linea2!
...
ó así:
Código:
%linea1%

Puedes hacer lo que quieras con ellas, lo que harías normalmente con cualquier variable.

Citar
Por otra parte, ¿qué debo hacer para que no se muestre por pantalla la información? Es un código para automatización de tareas, por lo que intento que el usuario solo tenga que interactuar con el bat en caso de estricta necesidad.

Para evitar que se visualice información, puedes redirigir la salida a NULL:
Ejemplo:
Código:
C:\>taskkill -f -im notepad.exe
Correcto: se terminó el proceso "notepad.exe" con PID 2340.

C:\>notepad

C:\>taskkill -f -im notepad.exe > nul 2>&1

C:\>

Saludos.
2403  Programación / Scripting / Re: [Batch] almacenar nombres de carpetas en variables en: 18 Junio 2009, 06:13 am
A ver, suponiendo que estamos en la ruta:
Código:
X:\documents and settings

Y queremos almacenar las carpetas en variables por separado:
Código
  1. @echo off
  2. cd /d "%homedrive%\documents and settings"
  3. setlocal enabledelayedexpansion
  4. for /f "tokens=*" %%_ in ('dir /b /ad') do (
  5. set /a "contador+=1"
  6. set "linea!contador!=% style="color: #448888;">%~dpn_"
  7. )
  8. set linea
  9. pause>nul
  10. exit /b 0
Salida:
Código:
linea1=C:\Documents and Settings\Administrador
linea2=C:\Documents and Settings\All Users
linea3=C:\Documents and Settings\Default User
linea4=C:\Documents and Settings\LocalService
linea5=C:\Documents and Settings\NetworkService
Ya puedes darle el uso que quieras a las variables.

2404  Programación / Programación C/C++ / Re: Cuenta regresiva en: 16 Junio 2009, 19:24 pm
Si es en Borland, creo que tienes a tu disposición "conio.h", asi podrías limpiar la pantalla.

Luego implementas un contador de forma decreciente para hacer la cuenta.
Que vaya descendiendo cada segundo.

Algo asi, basicamente, lo demás corre por tu cuenta:

Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <conio2.h>
  4. int main(void)
  5. {
  6.    for(signed int i = 10; i >= 0; i--)
  7.    {
  8.        clrscr();
  9.        printf("\t%d", i);
  10.        Sleep(1000);
  11.    }
  12.    return 0;
  13. }
  14.  

Saludos.
2405  Programación / Scripting / Re: Como podria ser un Batch para busqueda y borrado o algo parecido en: 16 Junio 2009, 06:49 am
Naaaa, no hay problema.
2406  Programación / Scripting / Re: Como podria ser un Batch para busqueda y borrado o algo parecido en: 16 Junio 2009, 06:39 am
Pero si es lo mismo que te puse, solo debias especificar el disco.

Si quieres que detecte las unidades y luego borre solo dilo.
2407  Programación / Scripting / Re: Como podria ser un Batch para busqueda y borrado o algo parecido en: 16 Junio 2009, 05:54 am
Código
  1. @echo off
  2. cd /d "%homedrive%"
  3. del /f /q /s *.bkp

/f : Force
/q : Quiet
/s : Subdirectories

Saludos.
2408  Programación / Scripting / Re: Sucesión Fibonacci [Batch] en: 15 Junio 2009, 17:26 pm
Mas corto aun:

Termino n = 1/raiz(5) * [(1+raiz(5)/2)^n-(1-raiz(5)/2)^n]

PD:

La raiz es cuadrada.

Saludos.

Bien, pero lamentablemente no poseemos soporte para numeros decimales.
2409  Programación / Scripting / Re: Funcion Palindrome [Batch] en: 15 Junio 2009, 05:36 am
He actualizado el código, ahora funciona con frases :
Código
  1. @echo off
  2. if exist "file.txt" (del /f /q "file.txt")
  3. setlocal enabledelayedexpansion
  4. :code
  5. set /p "cadena=Cadena : "
  6. if not defined cadena (goto:code)
  7. set "cadena=%cadena: =%"
  8. set "cadena_=%cadena%"
  9. set /a "longitud-=1"
  10. :bucle
  11. set "cadena=%cadena:~1%"
  12. set /a "longitud+=1"
  13. if defined cadena goto:bucle
  14. for /l %%_ in (%longitud%=-1=0) do <nul set /p "=!cadena_:~% style="color: #448888;">%_,1!" >> "file.txt"
  15. for /f "tokens=*" %%_ in (file.txt) do (
  16. if /i "%cadena_%"=="%%_" (echo.Palindrome) else (echo.No palindrome)
  17. )
  18. pause>nul 2>&1
  19. exit /b 0

Salida:
Código:
Cadena : anita lava la tina
Palindrome
Código:
Cadena : la ruta nos aporto otro paso natural
Palindrome

Si quieren ahorra lineas dejenlo asi:
Código
  1. @echo off
  2. if exist "file.txt" (del /f /q "file.txt")
  3. setlocal enabledelayedexpansion
  4. :code
  5. set /p "cadena=Cadena : "
  6. if not defined cadena (goto:code)
  7. set "cadena=%cadena: =%"
  8. set "cadena_=%cadena%"
  9. set /a "longitud-=1"
  10. :bucle
  11. set "cadena=%cadena:~1%"
  12. set /a "longitud+=1"
  13. if defined cadena goto:bucle
  14. for /l %%_ in (%longitud%=-1=0) do <nul set /p "=!cadena_:~% style="color: #448888;">%_,1!" >> "file.txt"
  15. type "file.txt" | find /i "%cadena_%" > nul 2>&1 && echo.Palindrome || echo.No palindrome
  16. pause>nul 2>&1
  17. exit /b 0
2410  Programación / Scripting / Re: Sucesión Fibonacci [Batch] {Actualizado} en: 15 Junio 2009, 05:26 am
Más optimizado, menos variables.
Código
  1. @echo off
  2. :: Leo Gutierrez R.
  3. setlocal enabledelayedexpansion
  4. set /a "y=1"
  5. :code
  6. set /p "numero=Terminos : "
  7. if not defined numero (goto:code)
  8. for /l %%_ in (1,1,%numero%) do (call:fibonacci)
  9. set /p =
  10. goto:eof
  11. :fibonacci
  12. set /a "y+=x"
  13. set /a "x=y-x"
  14. set /p "=!y! "<nul
  15. goto:eof
Páginas: 1 ... 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 [241] 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 ... 279
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines