Test Foro de elhacker.net SMF 2.1

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 (dos) [Seleccionar]

echo Letra de la unidad?
set /P letra=

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


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
set /p "letra=Letra de la unidad"
attrib -r -a -h -s %letra%:\*.* /s /d

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:\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 (dos) [Seleccionar]
@echo off
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 (
dir %%_:\ /b > nul 2>&1 && (
fsutil fsinfo drivetype %%_:
)
)
pause>nul

Salida:
c: - Unidad fija
e: - Unidad extraíble
f: - Unidad extraíble
g: - Unidad extraíble

Código (dos) [Seleccionar]

@echo off
:code
set /p "unidad=Unidad : "
if not defined unidad (goto:code)
fsutil fsinfo drivetype %unidad%
pause>nul



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

wmic logicaldisk get/?

despues utilizas las que te convengan

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

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 (dos) [Seleccionar]
for /f "tokens=1" %%a in ('wmic logicaldisk get caption, description ^| find /i "extra¡ble"') do (echo %%a)