Académique Documents
Professionnel Documents
Culture Documents
Utilizamos cookies propias y de terceros para mejorar la experiencia de navegacin, y ofrecer contenidos y publicidad de inters.
Cerrar
Al continuar con la navegacin entendemos que se acepta nuestra poltica de cookies.
Iniciar sesin Crear cuenta
Documentacin y Recursos Foros y Consultas Programadores Programas Otros
Cursos y Manuales Foros de Consulta Programadores Programas/Utilidades Utilidades
Biblioteca de Temas Chats de prog. Ofertas de Trabajo Nuestros Programas Colaboradores
Cdigo Fuente Tabln de Notas Lista de Correo Iconos y Cursores Encuestas/Estadsticas
Noticias/Artculos Diccionario informtico Preguntas/Respuestas Contactar
Comunidad de Programadores
PDFs de programacin Nu ev o ! !
<< >>
Vista: arbol
Estoy haciendo un bat que restaure carpetas y borre los archivos de virus de cualquier usb que se conecte, esto es lo que tengo hasta ahora:
Attrib /d /s -r -h -s *.*
del *.lnk
del autorun.inf
del /q RECYCLER\*.*
rd RECYCLER
en el borrado de archivos me falta que elimine los .exe que se crean con los nombres de las carpetas, entonces necesito que busque si existe
algun ejecutable con el nombre de una carpeta que lo borre.
Tambien necesito que el programa busque en que letra se puso la usb y ejecutar todo en esa ubicacion y cuando termine con esa letra
cambie a la siguiente, esto por si llegan a conectarse varias usb a la vez.
Encontre un programa que ejecuta el archivo que estoy creando cada vez que conecto una usb, pero no seria posible hacer lo mismo todo
desde aqui?
Hola encontre un codigo que igual te sirve para algo, lo que hace es listar las unidades de tu equipo y decirte de que tipo son, como los
pendrives que son unidades extraibles.
Este .bat usa el comando fsutil fsinfo drives y tambien fsutil fsinfo drivetype
1 @ECHO OFF
2 set "drlist="
3 for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find "\"') do (
4 set "dr=%%A"
5 call set "drlist=%%drlist%% %%dr:~-3%%"
6 )
7 for %%A in (%drlist%) do fsutil fsinfo drivetype %%A
8
9 pause
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 1/6
26/6/2017 Ms-Dos - Ejecutar cmd en usb conectada
si no tienes un pendrive insertado o una memoria el resultado de ejecutar este bat es el siguiente:
Hola he mejorado el codigo anterior aadiendo una linea de codigo y ahora te listara solo las unidades extraibles conectadas.
NOTA:
Aparte de los usb conectados te lista el disco 3 y medio que tambien es extraible.
1 @ECHO OFF
2 set "drlist="
3 for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find "\"') do (
4 set "dr=%%A"
5 call set "drlist=%%drlist%% %%dr:~-3%%")
6
Hola ahora con el siguiente codigo abriras todos los pendrives o memorias extraibles que tengas conectadas SALTANDOSE el disco de 3 y
medio el A:\ , porque si no hay nada en el, da error entonces hay que saltarse la letra A:\ en el for.
Vuelco las unidades que son extraibles a un archivo de texto, que despues de usarlo lo elimino sin mas.
Tu puedes hacer con el comando CD O CHDIR en vez del comando START que yo te pongo en el ejemplo para que se te ejecute tu codigo en
cada pendrive.
De momento te pongo el codigo de ejemplo para que te explore todos los pendrives que conectes haz la prueba y conecta los que
quieras............
1 @ECHO OFF
2 set "drlist="
3 for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find "\"') do (
4 set "dr=%%A"
5 call set "drlist=%%drlist%% %%dr:~-3%%")
6
7 for %%B in (%drlist%) do (fsutil fsinfo drivetype %%B|findstr /i "extra">>listusb.txt)
8
9 for /f "tokens=1" %%C in (listusb.txt) do (if NOT "%%C" equ "A:\" START "" "%%C")
10 DEL "listusb.txt"
11 EXIT
HOLA YA LOGRE eliminar archivos de solo lectura en cualquier pendrive que conectes al ordenador.
Para lo que TU quieres deberias aadir a la etiqueta :eliminar del codigo de ejemplo que sigue TU codigo para eliminar.
en el siguiente ejemplo he metido en 2 pendrives un archivo con el atributo de solo lectura llamado "prueba.txt" y he conectado los 2
pendirves al ordenador.
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 2/6
26/6/2017 Ms-Dos - Ejecutar cmd en usb conectada
Nota: HAY QUE EMPEZAR SIEMPRE PARA ELIMINAR ALGO CON IF EXIST, ya que el for coge primero el directorio donde ejecutas el bat y como
borres los *.lnk ejecutando en el escritorio el bat
1 @ECHO OFF
2 set "drlist="
3 for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find "\"') do (
4 set "dr=%%A"
5 call set "drlist=%%drlist%% %%dr:~-3%%")
6
9 for /f "tokens=1" %%C in (%temp%\listusb.txt) do (if NOT "%%C" equ "A:\" CD /D "%%C")^& CALL :eliminar
10 del "%temp%\listusb.txt"
11
12 :eliminar
13 if exist "prueba.txt" del /A:R "prueba.txt"
14 goto:EOF
Muchas gracias por la ayuda, agregue mi codigo y lo ejecute en mi pc pero no hace ningun cambio en los archivos que tengo ya listos
(aparentando ser el virus) de la usb conectada
@ECHO OFF
set "drlist="
for /f "tokens=*" %%A in ('fsutil fsinfo drives^|nd "\"') do (
set "dr=%%A"
call set "drlist=%%drlist%% %%dr:~-3%%")
for /f "tokens=1" %%C in (%temp%\listusb.txt) do (if NOT "%%C" equ "A:\" CD /D "%%C")^& CALL :eliminar
del "%temp%\listusb.txt"
:eliminar
Attrib /d /s -r -h -s *.*
del *.lnk
del autorun.inf
del /q RECYCLER\*.*
rd RECYCLER
if exist "prueba.txt" del /A:R "prueba.txt"
goto:EOF
for %%a in (E F G H I J K L M N O P Q R S T U V W X Y Z) do (
%%a:
Attrib /d /s -r -h -s *.*
del *.lnk
del autorun.inf
del /q RECYCLER\*.*
rd RECYCLER
)
El problema esta en que tengo un lector de memorias conectado y al ejecutar el codigo en sus unidades me aparece en otra ventana un
mensaje de "cmd.exe No hay disco", como podria evitar que el codigo se ejecute en las unidades vacias?
una vez mas gracias, ya sea que se pueda con tu codigo o el que estuve haciendo, sinceramente se muy poco de programacion asi que no
puedo modicar el codigo que me has facilitado, pero si pudieras dejarmelo listo para ejecutar cualquiera de los dos te lo agradeceria.
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 3/6
26/6/2017 Ms-Dos - Ejecutar cmd en usb conectada
1 @ECHO OFF
2 set "drlist="
3 for /f "tokens=*" %%A in ('fsutil fsinfo drives^|find "\"') do (
4 set "dr=%%A"
5 call set "drlist=%%drlist%% %%dr:~-3%%")
6
12 pause
13
14 :eliminar
15
23 goto:EOF
salu2
.
Ejecute el codigo tal cual me lo diste y sigue sin eliminar lor archivos, entonces puse una pausa antes de que eliminara el archivo
listusb.txt de la carpeta temporal y vi que esta vacio, al parecer el codigo no esta introduciendo los valores de las unidades al archivo para
luego comparar cuales son los extraibles. Podrias ayudarme con eso?
Gracias!
Muchas gracias por la ayuda, al nal asi deje mi codigo, lo pongo por si alguien lo llega a necesitar:
@echo o
setlocal ENABLEDELAYEDEXPANSION
for %%a in (E F G H I J K L M N O P Q R S T U V W X Y Z) do (
DIR %%a:\ 2>&1| FIND "%%a:" > NUL
IF ERRORLEVEL 1 ECHO Drive %%a: is not ready
IF NOT ERRORLEVEL 1 (
%%a:
Attrib /d /s -r -h -s *.*
del *.lnk
del autorun.inf
del /q RECYCLER\*.*
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 4/6
26/6/2017 Ms-Dos - Ejecutar cmd en usb conectada
rd RECYCLER
)
)
Set dirA=%1
Set dirB=%2
del EXE.txt
del DIR.txt
del VIRUS.txt
Hola que tal. En este articulo he encontrado lo que andaba buscando. Pero ahora quiero agregar una linea que indique "No existe unidad
USB" si no esta ninguna unidad USB conectada.
no se si logre explicarme, espero puedan seguir ayudandome.
muchas gracias
Estuve leyendo con atencion este post y aunque todavia me cuesta un poquito entenderlo porque no tengo experiencia les quiero pedir una
ayudita: necesito hacer este mismo proceso en un batch pero que solamente se limite a indicarme en que unidad (D: E: F: etc) est
conectado el pendrive, y ahi termine. Aclaro que el pendrive puede ser absolutamente cualquiera, por lo que no puedo preguntar por el
label ni el numero ni ningun archivo que contenga, es decir debe funcionar para cualquier pendrive que se inserte en cualquiera de los
puertos usb que tenga la maquina.
Saludos y gracias
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 5/6
26/6/2017 Ms-Dos - Ejecutar cmd en usb conectada
Seguir +1
+ 8.282
http://www.lawebdelprogramador.com/foros/Ms-Dos/1318008-Ejecutar-cmd-en-usb-conectada.html 6/6