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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Por que este bat no me funciona?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Por que este bat no me funciona?  (Leído 3,472 veces)
NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Por que este bat no me funciona?
« en: 16 Febrero 2012, 06:13 am »

hasta ahora estoy haciendo prueba con:
Código:
@echo off
set /a cont=0
:inicio
for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do (
set /a cont=cont+1
echo %cont%)
pause
pero ni asi,   :huh: el resultado es una cantidad de lineas con resultado 0 "la cantidad de lineas es proporcional a la cantidad de discos"

esta pequeña parte funciona de maravilla
Código:
for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do (echo %%x)

la idea es llegar aqui:

Código:
@echo off
set /a cont=0
:inicio
for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do (
set /a cont=cont+1
echo %cont%
set /a var[%cont%]=%%x
pause


« Última modificación: 17 Febrero 2012, 03:53 am por Leo Gutiérrez. » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.821



Ver Perfil
Re: Por que este bat no me funciona!!
« Respuesta #1 en: 16 Febrero 2012, 15:12 pm »

for...) do (
set /a cont=cont+1
echo %cont%)

el resultado es 0

Tienes que expandir la variable.

Setlocal enabledelayedexpansion
echo !cont!


"la cantidad de lineas es proporcional a la cantidad de discos"

¿Esto es lo que quieres?:

Código
  1. @echo off
  2. wmic logicaldisk get caption, description /format:csv | Find /i "extra" | Find /V /C ""


EDITO:

O esto?...


Código
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3.  
  4. For /F "Tokens=2 delims=," %%# in ('wmic logicaldisk get caption^, description /format:csv ^| Find /i "extra"') do (Set /A cont+=1& Set Var!Cont!=%%#)
  5.  
  6. Echo %Var1%
  7. Echo %Var2%
  8.  
  9. pause>NUL

Saludos.


« Última modificación: 16 Febrero 2012, 16:03 pm por EleKtro H@cker » En línea

NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Por que este bat no me funciona!!
« Respuesta #2 en: 16 Febrero 2012, 16:29 pm »

EDITO:

O esto?...


Código
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3.  
  4. For /F "Tokens=2 delims=," %%# in ('wmic logicaldisk get caption^, description /format:csv ^| Find /i "extra"') do (Set /A cont+=1& Set Var!Cont!=%%#)
  5.  
  6. Echo %Var1%
  7. Echo %Var2%
  8.  
  9. pause>NUL

Saludos.

Realmente era esto lo que queria  ;-) ahora se me hace raro ya que la expansion ya la habia usado sin exito claro esta, quisiera hacerte unas preguntas solo por curiosidad:
  • El uso de # como variable en el for es solo un hecho caprichoso o debo evitar usar letras?
  • Anteriormente "claro esta no en FOR" contador=contador+1 me ha funcionado porque aqui no  :huh:
  • Quiero hacer una modificacion mas el caso es que deseo el nombre de cada unidad extraible "me refiero a la etiqueta"  :P
  • Aun no comprendo bien el uso de estos caracteres |, &

Gracias por todo enserio me has sido de gran ayuda  ;-)  ;-)
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.821



Ver Perfil
Re: Por que este bat no me funciona!!
« Respuesta #3 en: 16 Febrero 2012, 17:23 pm »

    El uso de # como variable en el for es solo un hecho caprichoso o debo evitar usar letras?[/li][/list]
    Un capricho y una costumbre, Solo uso letras cuando el FOR tiene que trabajar con más de un token.         Ejemplo: "Echo %%a %%b %%c"
    Uso un caracter especial en la variable cuando el FOR solo trabaja UN token, Así no hay despistes cuando se hace un script muy largo, etc...


    Anteriormente "claro esta no en FOR" contador=contador+1 me ha funcionado porque aqui no  :huh:
    Por lo que dije antes, Tienes que expandir la variable dentro del FOR


    Aun no comprendo bien el uso de estos caracteres |, &
    Nada que no se solucione con la lectura de algún manual básico de esta misma sección    :)


    Quiero hacer una modificacion mas el caso es que deseo el nombre de cada unidad extraible "me refiero a la etiqueta"  :P

    EDITO: Código modificado (Simplificado xD)
    Código
    1. @Echo off
    2. Setlocal enabledelayedexpansion
    3.  
    4. :Drives
    5. For /F "Tokens=2,4* delims=," %%A in ('wmic logicaldisk get caption^, description^, volumename /format:csv ^| Find /i "extra"') do (
    6. Set /A NUM+=1
    7. Set Unidad!NUM!=%%A
    8. Set Etiqueta!NUM!=%%B
    9. )
    10.  
    11. Set Num=1
    12.  
    13. :Print
    14. If Defined Unidad!NUM! (Echo: !Unidad%NUM%! !Etiqueta%NUM%! | MORE & Set /A Num+=1& Goto :Print)
    15.  
    16. Pause
    17. Exit


    Salu2.
    « Última modificación: 16 Febrero 2012, 18:06 pm por EleKtro H@cker » En línea

    NekoOs

    Desconectado Desconectado

    Mensajes: 18


    Ver Perfil
    Re: Por que este bat no me funciona!!
    « Respuesta #4 en: 16 Febrero 2012, 19:07 pm »

    es agradable contar con personas tan atentas como tu EleKtro H@cker  ;D
    sabes en realidad esto es solo una parte de mi proyecto soy muy novato [cuando digo novato hablo en serio] seguramente uso comandos inoficiosos pero entenderas que trato de llevar mi logica jejje mira si no te molesta publico un link que muestra el codigo que genere gracias a tu ayuda.
    Merecera un comentario en tu nombre
    notaras que en la linea 7 hablo de unas Acciones, pues aqui las posteo
    Codigo fuente objetivo
    si no te molesta podrias ver un poco el code y darme tu opinion  :silbar:
    en todo caso gracias ya por todo lo que has echo  ;-)  ;-)
    En línea

    Eleкtro
    Ex-Staff
    *
    Desconectado Desconectado

    Mensajes: 9.821



    Ver Perfil
    Re: Por que este bat no me funciona!!
    « Respuesta #5 en: 16 Febrero 2012, 19:33 pm »

    si no te molesta podrias ver un poco el code y darme tu opinion  :silbar:

    Claro, te doy mi opinión...
    Más que nada solo hace falta corregir algunas erratas y escribir bien la syntax

    Ping ..... > Null
    Ping ..... > NUL

    IF %salvar=="s" falta un simbolo de porcentaje en la variabe (%salvar)
    IF /i "%salvar%" EQU "s"   así además puedes teclear "s" y "S" y dar la tecla por válida.

    *.* Eso no trabaja sobre todos los archivos, Solo lo hace sobre archivos que tengan extensión.    (caracter<punto>caracter)
    *

    msg Gracias Usuario
    msg Gracias %Username%  Así queda más chulo xD, Si no te funcionase escribe: %%username%%


    Por lo demás no he podido analizarlo a fondo.

    Toma:

    Código
    1. @ECHO OFF
    2.  
    3. MODE CON LINES=25
    4. MODE CON COLS=81
    5.  
    6. :Dispositivo
    7. CLS
    8. SET /P letra=Introduce la letra de tu pendrive {USB}:
    9. If NOT defined letra (Goto :Dispositivo)
    10.  
    11.  
    12. ECHO ********************************************************************************
    13. ECHO **                                                                            **
    14. ECHO           Las Siguientes Acciones se realizaran el la Unidad {(%letra%)}
    15. ECHO **                                                                            **
    16. ECHO ********************************************************************************
    17. ECHO Des-Ocultar los Archivos y Carpetas Contenidos en %letra%:\
    18. ECHO Eliminar Accesos Directos Contenidos en %letra%:\
    19. ECHO Timar Programas Malicioso {Archivos.exe} Contenidos en %letra%:\RECYCLER
    20. IF NOT EXIST "%letra%:\RECYCLER" (MKDIR "%letra%:\RECYCLER")
    21. if exist "%letra%:\*.lnk" (del "%letra%:\*.lnk")
    22. Attrib /d /s -r -h -s "%letra%:\*"
    23. FOR %%x in (%letra%:\RECYCLER\*.exe) DO (echo %%x>>"%letra%:\RECYCLER\neklist.txt")
    24.  
    25.  
    26. IF EXIST "%letra%:\RECYCLER\neklist.txt" (goto :existe) else (goto :noexiste)
    27.  
    28. :existe
    29. ECHO ::::::::::::::::::::::: Escaniando Archivos Sospechosos ::::::::::::::::::::::::
    30. ping -n 10 localhost > nul
    31. CLS
    32.  
    33. ECHO ********************************************************************************
    34. ECHO **                                                                            **
    35. ECHO **          Los siguientes Archivos mencionados seran ELIMINADOS              **
    36. ECHO **                                                                            **
    37. ECHO ********************************************************************************
    38. ECHO ********************************************************************************
    39. FOR %%x in (%letra%:\RECYCLER\*.exe) DO (echo %%x)
    40. ECHO ********************************************************************************
    41. ECHO.    
    42. ECHO          Si alguno no representa alguna amenza presiona la tecla [s]                      
    43. SET /P salvar=                    De lo contrario pulsa cualquier tecla:
    44. If not defined salvar (Goto :Existe)
    45. IF /i "%salvar%" EQU "s" (goto :guarda) ELSE (goto :nguarda)
    46.  
    47. :guarda
    48. CLS
    49. start %letra%:\RECYCLER
    50. ECHO ********************************************************************************
    51. ECHO **                                                                            **
    52. ECHO **          Presiona cualquier tecla para continuar con las Acciones          **
    53. ECHO **     "Recuerda los archivos contenidos en %letra%:\RECYCLER seran eliminados"     **
    54. ECHO **                                                                            **
    55. ECHO ********************************************************************************
    56. PAUSE>NUL
    57. FOR /F %%1 IN (%letra%:\RECYCLER\neklist.txt) DO (DEL %%1)
    58. FOR /F %%1 IN (%letra%:\RECYCLER\neklist.txt) DO (MKDIR %%1)
    59. DEL "%letra%:\RECYCLER\neklist.txt"
    60. CLS
    61. ECHO ********************************************************************************
    62. ECHO **                   AHORA PUEDES DISFRUTAR DE TU USB                         **
    63. ECHO **  Podras Insertarla en el PC que te ha contaminado sin preocupacion de una  **
    64. ECHO **                         reinfeccion del mismo virus                        **
    65. ECHO ********************************************************************************
    66. PAUSE>NUL
    67.  
    68. :nguarda
    69. FOR /F %%1 IN (%letra%:\RECYCLER\neklist.txt) DO (DEL %%1)
    70. FOR /F %%1 IN (%letra%:\RECYCLER\neklist.txt) DO (MKDIR %%1)
    71. DEL "%letra%:\RECYCLER\neklist.txt"
    72. CLS
    73. ECHO ********************************************************************************
    74. ECHO **                   AHORA PUEDES DISFRUTAR DE TU USB                         **
    75. ECHO **  Podras Insertarla en el PC que te ha contaminado sin preocupacion de una  **
    76. ECHO **                         reinfeccion del mismo virus                        **
    77. ECHO ********************************************************************************
    78. PAUSE>NUL
    79.  
    80. :noexiste
    81. CLS
    82. ECHO ********************************************************************************
    83. ECHO **                                                                            **
    84. ECHO **                  NO EXISTEN INCONVENIENTES EN TU PENDRIVE                  **
    85. ECHO **                                                                            **
    86. ECHO ********************************************************************************
    87. PAUSE>NUL
    88. msg /time 10 * Gracias %Username% , Cualquier inconveniente no dudes en pasar por NekoOs.es.tl
    « Última modificación: 16 Febrero 2012, 19:35 pm por EleKtro H@cker » En línea

    Páginas: [1] Ir Arriba Respuesta Imprimir 

    Ir a:  

    Mensajes similares
    Asunto Iniciado por Respuestas Vistas Último mensaje
    ¿Por que no me funciona este code? (Juego)
    Scripting
    esparta 0 2,066 Último mensaje 4 Noviembre 2007, 14:06 pm
    por esparta
    Por qué no me funciona este codigo?
    Desarrollo Web
    luison 0 2,270 Último mensaje 24 Septiembre 2010, 21:57 pm
    por luison
    No me funciona este programa
    Java
    Meta 8 5,704 Último mensaje 22 Abril 2011, 07:42 am
    por Meta
    Me explican si este código funciona [Bat]
    Scripting
    WIитX 2 3,427 Último mensaje 27 Agosto 2012, 07:03 am
    por Eleкtro
    ¿Por qué no funciona este MITM?
    Redes
    Kaxperday 2 2,128 Último mensaje 16 Septiembre 2015, 13:46 pm
    por Kaxperday
    WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines