Ayuda a programar un comando en dos

Iniciado por . . ., 14 Enero 2010, 16:08 PM

0 Miembros y 1 Visitante están viendo este tema.

. . .

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.

Festor

Con dos te refieres a batch, no?

No tengo ni idea de batch pero curioseando un poco el manual de sirdarckcat... 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

leogtz

set /p "letra=Letra de la unidad"
attrib -r -a -h -s %letra%:\*.* /s /d

set /p(rompt)...
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

. . .

Gracias, ahora como saber si esa unidad es una unidad flash (USB) y no una unidad del HDD.

;D ;D ;D

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

leogtz

#5

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:\>
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

[L]ord [R]NA

:xD casi esta pidiendo un USB Spreader en batch completo

---saster---

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 %%_)

leogtz

Código (dos) [Seleccionar]
for /f "tokens=1" %%a in ('wmic logicaldisk get caption, description ^| find /i "extra¡ble"') do (echo %%a)
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com