Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: . . . en 14 Enero 2010, 16:08 pm



Título: Ayuda a programar un comando en dos
Publicado por: . . . en 14 Enero 2010, 16:08 pm
Hola quiero ejecutar la siguiente instruccion.

attrib -r -a -h -s H:\*.* /s /d

Sin embargo, la letra H es una variable, representa la letra de la unidad a asignar la instruccion, como hago para pedirle al usuario que ingrese esa letra y ejecute el script segun la letra ingresada.

Gracias.


Título: Re: Ayuda a programar un comando en dos
Publicado por: Festor en 14 Enero 2010, 18:33 pm
Con dos te refieres a batch, no?

No tengo ni idea de batch pero curioseando un poco el manual de sirdarckcat (http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html)... debería bastar con esto:

Código
  1. echo Letra de la unidad?
  2. set /P letra=
  3.  
  4. attrib -r -a -h -s %letra%:\*.* /s /d
  5.  

De todas formas te recomiendo que te leas el manual para mayor seguridad...  :-\ :xD


Título: Re: Ayuda a programar un comando en dos
Publicado por: leogtz en 14 Enero 2010, 19:26 pm
Código:
set /p "letra=Letra de la unidad"
attrib -r -a -h -s %letra%:\*.* /s /d
Código:
set /p(rompt)...


Título: Re: Ayuda a programar un comando en dos
Publicado por: . . . en 14 Enero 2010, 20:19 pm
Gracias, ahora como saber si esa unidad es una unidad flash (USB) y no una unidad del HDD.

 ;D ;D ;D


Título: Re: Ayuda a programar un comando en dos
Publicado por: Novlucker en 14 Enero 2010, 20:47 pm
http://foro.elhacker.net/scripting/batch_problema_con_script_para_detectar_usb_solucionado-t245816.0.html

Como este, otros tantos codes, ... DEBES DE BUSCAR

Saludos


Título: Re: Ayuda a programar un comando en dos
Publicado por: leogtz en 14 Enero 2010, 20:51 pm
Código:
C:\WINDOWS\system32>wmic logicaldisk get caption, description | find /i "extra"
E:       Disco extraíble
F:       Disco extraíble
G:       Disco extraíble

C:\WINDOWS\system32>

Código
  1. @echo off
  2. for %%_ in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3. dir %%_:\ /b > nul 2>&1 && (
  4. fsutil fsinfo drivetype %%_:
  5. )
  6. )
  7. pause>nul
  8.  
Salida:
Código:
c: - Unidad fija
e: - Unidad extraíble
f: - Unidad extraíble
g: - Unidad extraíble
Código
  1. @echo off
  2. :code
  3. set /p "unidad=Unidad : "
  4. if not defined unidad (goto:code)
  5. fsutil fsinfo drivetype %unidad%
  6. pause>nul


Código:
C:\>wmic logicaldisk get caption, description
Caption  Description
C:       Disco fijo local
D:       Disco CD-ROM
E:       Disco extraíble
F:       Disco extraíble
G:       Disco extraíble


C:\>


Título: Re: Ayuda a programar un comando en dos
Publicado por: [L]ord [R]NA en 14 Enero 2010, 21:33 pm
:xD casi esta pidiendo un USB Spreader en batch completo


Título: Re: Ayuda a programar un comando en dos
Publicado por: ---saster--- en 17 Enero 2010, 19:08 pm
Tambien puedes obtener mas info de las unidades aparte de caption y description

Código:
wmic logicaldisk get/?

despues utilizas las que te convengan

También otra manera parecida a las de Leo Gutiérrez.

Código:
for /f "tokens=*" %%_ in ('wmic logicaldisk get caption, description ^| find /i "extra¡ble"') do (echo %%_)


Título: Re: Ayuda a programar un comando en dos
Publicado por: leogtz en 17 Enero 2010, 23:36 pm
Código
  1. for /f "tokens=1" %%a in ('wmic logicaldisk get caption, description ^| find /i "extra¡ble"') do (echo %%a)