elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 19:29  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting
| | | |-+  Detector unidades Pendrive 5.0c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Imprimir
Autor Tema: Detector unidades Pendrive 5.0c  (Leído 2316 veces)
carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #15 en: 02 Julio 2008, 05:36 »

Encontré una forma mucho más corta de hacer esto, utilizando el comando diskpart
con la orden list volumes
La única desventaja es que no trabaja en cuenta limitada.

Si tienen windows scripting host habilitado, es mejor el código en vbs de novlucker, aunque eso si, si montas una carpeta como unidad, por ejemplo:

subst L: G:\carpeta_pendrive

y ejecutas el .vbs te muestra dos unidades:
G:
L:

En cambio, el código que hice muestra los volumenes reales, y funciona, en cuenta limitada.




« Última modificación: 02 Julio 2008, 09:07 por carlitos.dll » En línea
Novlucker

Desconectado Desconectado

Mensajes: 1.592



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #16 en: 02 Julio 2008, 13:43 »

carlitos.dll, en hora buena, pero... donde ha ido a parar el code para probarlo?  :P

Y antes que nada me quedó una duda.
Citar
La única desventaja es que no trabaja en cuenta limitada
Citar
En cambio, el código que hice muestra los volumenes reales, y funciona, en cuenta limitada.

Citar
aunque eso si, si montas una carpeta como unidad, por ejemplo:
subst L: G:\carpeta_pendrive
y ejecutas el .vbs te muestra dos unidades:
G:
L:

Esto no lo sabía, así que voy a revisar la manera de solucionarlo

Saludos
« Última modificación: 02 Julio 2008, 14:01 por Novlucker » En línea

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

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #17 en: 02 Julio 2008, 14:10 »

a lo que me refiero que no trabaja con cuenta limitada es el comando diskpart (si trabajase en todo tipo de cuentas, podría obtener un listado de alli y tratar la información, y el código quedaría mucho más pequeño que el actual), pero como no trabaja en todo evento, me evité el trabajo de escribir un nuevo código, pues el actual, trabaja bien en toda ocasión.

Lo del archivo, está en la página 1, por el medio, esa es la última versión, en el primer post estaba una versión más antigua, la que tenía el error de mostrar unidades cuando no existían y por eso la borré.

Lo del uso de subst para montar una carpeta del pendrive como unidad, es cierto que tu code actual, muestra las unidades virtuales, en cambio el que hice en batch muestra solo los volumenes reales.

Aunque es solo un detalle, pues ¿quién va a montar unidades virtuales de pendrive, cuando son medios transportables? en la práctica tu code es mucho más rápido y eficiente.


« Última modificación: 02 Julio 2008, 14:24 por carlitos.dll » En línea
Novlucker

Desconectado Desconectado

Mensajes: 1.592



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #18 en: 02 Julio 2008, 15:47 »

Estuve haciendo pruebas, y efectivamente es como dices... es que las unidades montadas (desde pendrive) las marca como extraíbles  :-\

Citar
Aunque es solo un detalle, pues ¿quién va a montar unidades virtuales de pendrive, cuando son medios transportables? en la práctica tu code es mucho más rápido y eficiente.

Nunca se sabe, siempre aparece alguien  :-X.... por lo que en definitiva, tu code es 100% certero, en cambio el mío, si bien es más corto y rápido, deja un pequeño margen de error, pequeño, pero error al fin  :rolleyes:

Saludos
En línea

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

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 0.9
« Respuesta #19 en: 02 Julio 2008, 15:58 »

Hay una forma de hacer lo que tú hiciste en vbs, en batch, sin mostrar las unidades virtuales, pero no funciona en cuenta limitada.

lo encontré hace poco en una página que descubrí sangoogleando:
Código:
dostips.com

Código:
@ECHO OFF
set "drlist="
for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find /V ""') do (
    set "dr=%%A"
    call set "drlist=%%drlist%% %%dr:~-3%%"
)
for %%A in (%drlist%) do fsutil fsinfo drivetype %%A

Usa el comando fsutil, que no trabaja en cuenta limitada, sólo hay que filtrarle para que muestre las unidades removibles.


En todo caso, les postié el code, para saber qué opinan. (Los de habla inglesa tienen habilidad para estas cosas)
Código:
http://www.dostips.com/forum/viewtopic.php?t=284
En línea
carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 1.0
« Respuesta #20 en: 06 Julio 2008, 00:02 »

Corregí dos líneas. Finalmente dejé la versión 1.0 en la primera página de este post.
En línea
:: SmartGenius ::

Desconectado Desconectado

Mensajes: 80



Ver Perfil WWW
Re: Detector unidades Pendrive 1.0
« Respuesta #21 en: 06 Julio 2008, 04:52 »

oye carlitos.dll.... yo habia hecho un code para eso en CM, lo sacaste de alli ??

Código:
@echo off
title Examinador de Unidades
color 0a

:main
cls
echo.
echo Introduzca la Letra de Unidad
echo.
set /p uni="> "
FSUTIL FSINFO DRIVETYPE %uni%:>%temp%\letuni.tmf
for /F "tokens=*" %%a in (%temp%\letuni.tmf) do set p=%%a
if %p:~-4%==ija (goto fija)
if %p:~-4%==ble (goto USB)
if %p:~-4%==ROM (goto CD) else (goto main)

:USB
echo.
echo La unidad es Extraible
pause
exit

:fija
echo La unidad es una Unidad de Disco Duro
echo.
pause
exit

:CD
echo.
echo La unidad es una CD-ROM
echo.
pause
exit

de ahi en adelante se podria hacer algo para hacer mas efectiva la propagacion por USB...

Saludos.
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 1.0
« Respuesta #22 en: 06 Julio 2008, 04:54 »

Mi code funciona en cuenta limitada, y ese code puse más arriba que es similar al tuyo, lo saqué de d o s t i p s . c o m
Mi code pretende ser una roca como BSD :D
(Está  en la primera página del post)
En línea
:: SmartGenius ::

Desconectado Desconectado

Mensajes: 80



Ver Perfil WWW
Re: Detector unidades Pendrive 1.0
« Respuesta #23 en: 06 Julio 2008, 05:04 »

ah ok men... no hay problema...

Lo bueno es que funcione en una cuenta limitada, para poder realizar algo mas efectivo...

Saludos.
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Detector unidades Pendrive 2.0
« Respuesta #24 en: 10 Julio 2008, 06:15 »

Más adelante está la versión 3.3.
------------------
Código:

::Detector de unidades removibles
::v2.0 by CarlitoS.dll

@echo off
reg.exe export HKLM\SYSTEM\MountedDevices "%tmp%\dev.dat" >nul

set /a non=1
echo LAS UNIDADES REMOVIBLES ACTUALES SON:
for /f "tokens=1 delims==" %%a in ('type "%tmp%\dev.dat" ^| find /i "\\DosDevices\\" ^| sort ^| find /i "53,00,54,00,4f,00,52,00,41"') do call :fil %%a
if %non%==1 (echo Ninguna)

pause
exit

:fil
set dr=%*
set dr=%dr:~-3,1%
call :lab %dr%
goto :eof

:lab
if exist %1:\ (echo %1 & set /a non=0)
goto :eof

« Última modificación: 12 Julio 2008, 03:28 por carlitos.dll » En línea
sirdarckcat
sdc
CoAdmin
*****
Desconectado Desconectado

Mensajes: 4.653


HAND


Ver Perfil WWW
Re: Detector unidades Pendrive 2.0
« Respuesta #25 en: 10 Julio 2008, 15:23 »

No crees que estó es redundante?

reg.exe export HKLM\SYSTEM\MountedDevices "%tmp%\dev.dat" >nul
type "%tmp%\dev.dat"

Hay un handler de archivo virtual a la salida stdout.. :con es para la consola.. si te permite leer y escribir talvez puedas  redirigir el export a stdout y así solo pipe'ar la salida..
En línea

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Detector unidades Pendrive 3.3
« Respuesta #26 en: 10 Julio 2008, 15:28 »

En la siguiente página está la versión 3.4 que es la mejor

Código:
:: DETECTOR DE UNIDADES REMOVIBLES
:: v3.3
:: $author CarlitoS.dll

@echo off

set /a non=1
echo LAS UNIDADES REMOVIBLES ACTUALES SON:
for /f "tokens=1 delims=:" %%a in ('reg query HKLM\SYSTEM\MountedDevices ^| find /i "530054004F00520041"') do call :fil %%a
if %non%==1 (echo Ninguna)

pause
exit

:fil
set dr=%*
set dr=%dr:~-1%
call :lab %dr%
goto :eof

:lab
if exist %1:\ (echo %1 & set /a non=0)
goto :eof

« Última modificación: 12 Julio 2008, 03:29 por carlitos.dll » En línea
carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 3.3
« Respuesta #27 en: 10 Julio 2008, 22:38 »

Pido disculpas por tantas modificaciones, pero es que luego de un rato se me ocurré otra cosa, y me digo: podría escribir esto para que quedara más rápido.
La versión 3.3 la dejo como versión final, no creo que le haga más modificaciones, pienso que quedó óptimo ese code, y lo más importante es que se puede utilizar bajo cuenta limitada, pues no llama a diskpart o fsutil.
En línea
Novlucker

Desconectado Desconectado

Mensajes: 1.592



Ver Perfil
Re: Detector unidades Pendrive 3.3
« Respuesta #28 en: 11 Julio 2008, 03:22 »

Bueno, lo he probado y no hay quejas  ;D, te ha quedado muy bien.. y sobre todo porque este último code es la tercera parte de largo, de lo que era el primero que publicaste  :P

Saludos
En línea

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

carlitos.dll

Desconectado Desconectado

Mensajes: 271



Ver Perfil
Re: Detector unidades Pendrive 3.3
« Respuesta #29 en: 11 Julio 2008, 06:54 »

Gracias novlucker.

Bueno, ahora una vez termine de leer todas las páginas de manual de los comandos de batch, se viene korn shell (me decidí por este, en vez de perl o python) quiero Unix  :P
No sabré todo de batch, pero ya es suficiente para mi.
« Última modificación: 11 Julio 2008, 07:31 por carlitos.dll » En línea
Páginas: 1 [2] 3 4 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats