Autor
|
Tema: Detector unidades Pendrive 5.0c (Leído 29,925 veces)
|
carlitos.dll
Desconectado
Mensajes: 266
|
En la siguiente página está la versión 3.4 que es mucho mejor.
Hola, quisiera solicitar un favor, escribí un code para detectar las unidades pendrive. Y quisiera pedirles por favor, que lo probaran y me dijeran cómo funciona, si es posible, colocar dos pendrives (porque yo tengo sólo 1), para saber si funciona en varias eventos.
|
|
« Última modificación: 26 Julio 2008, 20:00 pm por carlitos.dll »
|
En línea
|
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
¿algún comentario? Si funciona, lo explico
|
|
|
En línea
|
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
Lo modifiqué, tenía un error, con la ruta dónde escribía, cómo tenía %tmp% y está ruta tiene un espacio (... Configuración local\Temp) se caía cuando leía archivos con el for, ya lo solucioné. modificando:
%tmp%\ por %HomeDrive%\Docume~1\%UserName%\
es decir, no escribir directamente en la carpeta temporal, sino mejor en la carpeta del usuario.
Estoy trabajando para hacerlo funcionar en windows 9x.
|
|
« Última modificación: 30 Junio 2008, 21:22 pm por carlitos.dll »
|
En línea
|
|
|
|
Ari Slash
|
esta bueno...
te muestra las unidades removibles, asi uno puede dar a elegir la letra al usuario que use el SCRIPT.........
pero.....yo no tenia ninguna unidad removible puesta, me detecto 2
esas dos me aparecen cuando coloco el celular: una del celular y otra de la tarjeta de memoria...
pero en ese momento no lo tenia conectado.........
salu2
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Lamento informar que a mi me detecta G:, pero G ni siquiera existe en este momento..... Es por eso que siempre me decanto por *.vbs set objfso = createobject("scripting.filesystemobject") set discos = objfso.drives nu=0 for each d in discos if d.driveletter <> "A" and d.drivetype = 1 then u = u & d.driveletter & ":" & chr(13) nu = nu+1 end if next if nu = 0 then msgbox "No se han deteactado unidades removibles" else msgbox "Las unidades removibles son: " & chr(13) & u end if
Saludos
|
|
« Última modificación: 1 Julio 2008, 00:39 am por Novlucker »
|
En línea
|
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
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
En la siguiente página está la versión 3.4 que es mucho mejor.::Detector de unidades removibles ::v1.0 by CarlitoS.dll
@echo off set DI=%HomeDrive%\Docume~1\%UserName% reg.exe export HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices %DI%\rin.0>NUL type %DI%\rin.0>%DI%\u.0 findstr /n "52,00,65,00,6d,00,6f,00,76,00,61,00,62,00,6c,00,65" %DI%\u.0>%DI%\rin.0
set /a sal=0 set /a wri=0 set /a lin=0 @echo off>%DI%\drv.0 for /f "tokens=*" %%a in (%DI%\u.0) do set ctu=%%a & call :lee set sal= set wri= set lin=
@echo off>%DI%\rin.0 if exist %DI%\rin.0 (del /f /q %DI%\rin.0>NUL) @echo off>%DI%\u.0 if exist %DI%\u.0 (del /f /q %DI%\u.0>NUL)
set /a non=1 echo Las Unidades removibles actuales son: call :res if %non% == 1 (echo ninguna) set non=
@echo off>%DI%\drv.0 if exist %DI%\drv.0 (del /f /q %DI%\drv.0>NUL)
pause exit
:res for /f "tokens=1 delims=," %%c in (%DI%\drv.0) do set drv=%%c & call :res1 goto :Eof :res1 for /f "tokens=1 delims=:" %%d in ("%drv%") do set drvz=%%d set drvz=%drvz:~-1% if exist %drvz%:\ (echo %drvz% & set /a non=0) goto :eof
:lee if %wri%==1 (for /f "skip=%sal% tokens=1 delims=:" %%b in (%DI%\rin.0) do set /a number=%%b & call :lee1) if %wri%==0 (for /f "tokens=1 delims=:" %%b in (%DI%\rin.0) do set /a number=%%b & call :lee1) set /a lin +=1 goto :eof :lee1 set /a number -=3 if %lin%==%number% (echo %ctu%>>%DI%\drv.0 & set /a wri=1 & set /a sal +=1) goto :eof
::CarlitoS.dll
Muchas gracias a todos los que se molestaron en probar y contestar, gracias de verdad.
|
|
« Última modificación: 12 Julio 2008, 03:26 am por carlitos.dll »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Ahora si me ha funcionado
|
|
|
En línea
|
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
|
|
|
Ari Slash
|
exelente ahi esta bien................
que bueno que te haya resultado
a mi me ha servido para aumentar conocimientos.....
solo te falto:
title Detector de unidades removibles v0.9 by CarlitoS.dll
salu2
|
|
|
En línea
|
|
|
|
sirdarckcat
Aspirante a supervillano
Colaborador
Desconectado
Mensajes: 7.029
No estoy loco, soy mentalmente divergente
|
No se podría hacer (con menos código), un FOR que genere letras (usando debug), y vea si se pudo mover a la unidad indicada con ? Esque tu codigo lo veo muy largo, y lo que hizo Novluker en VBS se puede hacer en batch
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Esque tu codigo lo veo muy largo, y lo que hizo Novluker en VBS se puede hacer en batch Es que si bien, mi *.vbs se puede pasar a *.bat, y el código sería mucho más corto, creo que el merito de carlitos.dll está en que lo ha hecho en puro batch, con las límitaciones que en ciertas ocasiones puede tener Saludos
|
|
|
En línea
|
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
|
|
|
|
|