Bueno soy yo de nuevo, siento molestarlos, pero necesito ayuda, los FOR definitivamente no son mi fuerte xD
Bueno en fin mi problema e el siguiente:
Tengo un programa que me genera IDS de hardware, lo uso para genrear el ID de las USB que tengo conectadas mi pc ^^!, redirigo la salida de la consulta a un archivo txt y hasta ahí todo bien, lo que pasa es que el programa me genera una salida como esta:
Código:
USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_PMAP\5B831D000335&0
Name: Kingston DataTraveler 2.0 USB Device
Hardware ID's:
USBSTOR\DiskKingstonDataTraveler_2.0PMAP
USBSTOR\DiskKingstonDataTraveler_2.0
USBSTOR\DiskKingston
USBSTOR\KingstonDataTraveler_2.0P
KingstonDataTraveler_2.0P
USBSTOR\GenDisk
GenDisk
Compatible ID's:
USBSTOR\Disk
USBSTOR\RAW
1 matching device(s) found.
Pero io necesito usa solo la primera línea que viene después de “Hardware ID's:” que es la que me srive para lo que quiero hacer xD, en fin la cosa es que estuve TRATANDO de usar un FOR y llegue hasta el siguiente FOR
Código:
for /f "tokens=1" %%L in ('devcon hwids USBSTOR^\^* ^| find /i "USBSTOR\Disk"') do (set usb=%%L)
Mi pregunta es simple, como puedo hacer para obtener el contenido de la primera línea después de “Hardware ID's:”? (en batch por supuesto, si es que se puede :X), independiente de que haya mas de una ID de hardware en el archivo? (en el caso de que hubiesen conectadas de usb al PC)….
De ante mano muchas gracias y eh aquí el programa que estoy usando para obtener las ids de hardware.
http://www.4shared.com/file/107573496/c9c9de30/devcon.html
ahi esta el programa por si alguien lo kiere, solo lo decomprimen, trae version para 32 y 64bits
Código:
Ayuda de consola del dispositivo:
devcon.exe [-r] [-m:\\<equipo>] <comando> [<arg>...]
-r, si se especifica, reiniciará el equipo cuando se haya completado el comando, si es necesario.
<equipo> es el nombre del equipo de destino.
<comando> es el comando que se va a realizar (vea abajo).
<arg>... es uno o más argumentos, si el comando lo requiere.
Para ver ayuda sobre un comando concreto, escriba: devcon.exe help <comando>
classfilter Permite la modificación de filtros de clase.
classes Muestra todas las clases de configuración de dispositivos.
disable Deshabilita los dispositivos que coinciden con el hardware o
el Id. de instancia específico.
driverfiles Muestra los archivos de controlador instalados para los dispositivos.
drivernodes Muestra todos los nodos de controlador de dispositivos.
enable Habilita los dispositivos que coinciden con el hardware o
el Id. de instancia específico.
find Busca dispositivos que coinciden con el hardware o
el Id. de instancia específico.
findall Busca dispositivos, incluyendo aquellos que no están presentes.
help Muestra esta información.
hwids Muestra los Id. de hardware de los dispositivos.
install Instala manualmente un dispositivo.
listclass Muestra todos los dispositivos para una clase de configuración.
reboot Reinicia el equipo local.
remove Quita los dispositivos que coinciden con el hardware o
el Id. de instancia específico.
rescan Analiza si hay hardware nuevo.
resources Muestra los recursos de hardware de los dispositivos.
restart Reinicia los dispositivos que coinciden con el hardware o
el Id. de instancia específico.
stack Muestra la pila de controladores esperada de los dispositivos.
status Muestra el estado de ejecución de los dispositivos.
update Actualiza manualmente un dispositivo.
UpdateNI Actualiza manualmente un dispositivo sin preguntar al usuario
SetHwID Agrega, elimina y cambia el orden de los Id. de hardware de los dispositivos enumerados por el raíz.
Comandos de DevCon de ejemplo
devcon -m:\\prueba find pci\*
Muestra todos los dispositivos PCI conocidos del equipo prueba. (Si utiliza -m puede especificar un equipo de destino. Debe utilizar comunicación entre procesos (IPC) para tener acceso al equipo.)
devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP
Instala una nueva instancia del adaptador de bucle invertido de Microsoft. Creará un nuevo nodo de dispositivo enumerado por el raíz con el que puede instalar un "dispositivo virtual", como el adaptador de bucle invertido. Este comando también reinicia silenciosamente el equipo si se requiere un reinicio.
devcon classes
Muestra todas las clases de instalación conocidas. El resultado contiene el nombre corto no adaptado (por ejemplo, "USB") y el nombre descriptivo (por ejemplo, "Controladoras de bus serie universal").
devcon classfilter upper !filtro1 !filtro2
Elimina los dos filtros especificados.
devcon classfilter lower !filtromalo +filtrobueno
Reemplaza "filtromalo" con "filtrobueno".
devcon driverfiles =ports
Muestra los archivos asociados a cada dispositivo en la clase de instalación ports.
devcon disable *MSLOOP
Deshabilita todos los dispositivos cuyo Id. de hardware termina en "MSLOOP" (incluyendo "*MSLOOP").
devcon drivernodes @ROOT\PCI_HAL\PNP0A03
Muestra todos los controladores compatibles para el dispositivo ROOT\PCI_HAL\PNP0A03. Puede utilizarse para determinar por qué se eligió un archivo de información de dispositivo integral (.inf), en lugar de utilizar un archivo .inf de otro proveedor.
devcon enable '*MSLOOP
Habilita todos los dispositivos cuyo Id. de hardware es "*MSLOOP". La comilla simple indica que se debe tomar literalmente el Id. de hardware (es decir, el asterisco ["*"] es realmente un asterisco; no es un carácter comodín).
devcon find *
Muestra instancias de todos los dispositivos que están presentes en el equipo local.
devcon find pci\*
Muestra todos los dispositivos de interconexión de componentes periféricos (PCI) conocidos que hay en el equipo local (este comando supone que un dispositivo es PCI si su Id. de hardware tiene como prefijo "PCI\").
devcon find =ports *pnp*
Muestra los dispositivos presentes que son miembros de la clase de instalación ports y que contienen "PNP" en su Id. de hardware.
devcon find =ports @root\*
Muestra los dispositivos presentes que son miembros de la clase de instalación ports y que están en la rama "raíz" del árbol de enumeración (el Id. de instancia tiene "root\" como prefijo). Tenga en cuenta que no debe hacer ninguna suposición mediante programación acerca del formato de un Id. de instancia. Para determinar los dispositivos raíz, puede examinar sus bits de estado de dispositivo. Esta característica está incluida en DevCon como ayuda para la depuración.
devcon findall =ports
Muestra los dispositivos "no presentes" y los dispositivos que están presentes para la clase ports. Esto incluye los dispositivos que se han quitado, los dispositivos que se han desplazado de una ranura a otra y, en algunos casos, los dispositivos que se han enumerado de manera diferente debido a un cambio del BIOS.
devcon listclass usb 1394
Muestra todos los dispositivos que están presentes para cada clase indicada (en este caso, USB y 1394).
devcon remove @usb\*
Quita todos los dispositivos USB. Los dispositivos que se quitan se muestran con su estado de eliminación.
devcon rescan
Vuelve a explorar si hay nuevos dispositivos Plug and Play.
devcon resources =ports
Muestra los recursos utilizados por todos los dispositivos de la clase de instalación ports.
devcon restart =net @'ROOT\*MSLOOP\0000
Reinicia el adaptador de bucle invertido ROOT\*MSLOOP\0000. La comilla simple del comando indica que el Id. de instancia se debe tomar literalmente.
devcon hwids=mouse
Muestra todos los Id. de hardware de los dispositivos de la clase mouse del sistema.
devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep
Asigna el Id. de hardware, beep, al dispositivo de beep heredado.
devcon stack =ports
Muestra la pila de controladores esperada para el dispositivo. Esto incluye los filtros superior/inferiores de dispositivo y clase, y el servicio de control.
devcon status @pci\*
Muestra el estado de cada dispositivo presente cuyo Id. de instancia comienza con "pci\".
devcon status @ACPI\PNP0501\1
Muestra el estado de una instancia de dispositivo concreta, en este caso un puerto serie enumerado por Configuración avanzada e interfaz de energía (ACPI).
devcon status @root\rdp_mou\0000
Muestra el estado de Microsoft Terminal Server o el controlador de mouse de Servicios de Terminal Server.
devcon status *PNP05*
Muestra el estado de todos los puertos COM.
devcon update midev.inf *pnp0501
Actualiza todos los dispositivos que coinciden con el ID. de hardware *pnp0501 para que utilicen el mejor controlador de Midev.inf que esté asociado al Id. de hardware *pnp0501.
Nota
Esta actualización obliga a todos los dispositivos a utilizar el controlador de Midev.inf, incluso aunque ya haya una mejor coincidencia en el sistema. Esto es útil cuando desea instalar nuevas versiones de controladores durante el desarrollo antes de obtener una firma. La actualización sólo afecta a los dispositivos que coinciden con el Id. de hardware especificado; no afecta a los dispositivos secundarios. Si el archivo .inf especificado no está firmado, Windows puede mostrar un cuadro de diálogo en el que le pida confirmación para instalar el controlador. Si se requiere un reinicio, se informa de ello y DevCon devuelve un error de nivel 1. Si especifica -r, se realizará un reinicio automáticamente si se requiere uno.
Notas
DevCon devolverá un nivel de error para su uso en secuencias de comandos:
"0" indica un éxito.
"1" indica que se requiere un reinicio.
"2" indica un error.
"3" indica un error de sintaxis.
Si especifica -r y se requiere un reinicio, el reinicio se realizará sin ninguna advertencia después de que se hayan procesado todos los dispositivos.
Si especifica -m:\\equipo y el comando no funciona para un equipo remoto, se informará de un error.
DevCon admite caracteres comodín en los Id. de instancia para mayor comodidad interactiva. No dé por supuesto nada acerca del formato de un Id. de instancia de un equipo a otro y de una versión del sistema operativo a otra.
Volver al principio
--------------------------------------------------------------------------------
La información de este artículo se refiere a:
Microsoft Win32 Device Driver Kit for Windows 2000
Microsoft Windows XP Driver Development Kit
Microsoft Windows NT 2003 Driver Development Kit
Volver al principio
Palabras clave: kbfile kbhowto KB311272
Volver al principio ¿Necesita más ayuda?Contactar con un profesional de soporte técnico por correo electrónico, online o por teléfono
Seleccione idioma
AlemánÁrabeChecoChinoEslovenoFrancésGriegoHebreoHolandésHúngaroInglés (US)ItalianoJaponésPolacoPortugués (Brasil)Portugués (Portugal)RomanianRusoTaiwanésTurco
Herramientas
Imprimir la página
Enviar esta página
¿Necesita más ayuda?
Contactar con un profesional de soporte técnico por correo electrónico, online o por teléfono
Ayuda y soporte Contrato de Servicios
Contáctenos | Condiciones de uso | Marcas registradas | Declaración de privacidad
©2009 Microsoft