Título: Necesito ayuda Publicado por: Magnumrace en 27 Abril 2021, 21:44 pm Buenas necesito ayuda para crear un archivo bat que haga lo siguiente:
-Comprueba que la unidad USB está conectada al sistema y procede a la copia. Si no existe la unidad USB no se realiza la copia. Para ello se puede usar wmic. Lo que tengo yo ahora es esto: @echo off xcopy C:\Users\Usuario\Documents\Fundamentos E:\ echo Copia Completada @Pause Cual es el problema? Que no sé nada sobre esto, apenas me estoy informando, mi profesor de hardware está explicando un poco de programación cosa que no debería y me está dando bronca :-\. Debe ser una idiotez lo que pido, pero no sé como hacerlo. Cualquier ayuda seria genial. Título: Re: Necesito ayuda Publicado por: WHK en 27 Abril 2021, 22:19 pm Hola, si tu profesor te está evaluando para lo que no te enseñó entonces deberías denunciarlo al rector.
De todas maneras debes usar la sentencia "exist" y la unidad, a eso debes anteponer una condicional de tipo if y dentro del bloque realizar la acción de copiado, en caso contrario debería lanzar un echo con el mensaje de error y retornar un valor positivo para indicarle al sistema que se produjo un error en el resultado del script. Espero te sirva, saludos. Título: Re: Necesito ayuda Publicado por: EdePC en 27 Abril 2021, 23:09 pm wmic sirve para ver información del sistema, ahora bien, como siempre estas tareas dependen mucho del contexto, es decir, que instrucciones usar (wmic), cuan complejo puede ser el script, etc, pero también puede faltar la manera de identificar a ese USB que se menciona, puede ser por su nombre, marca, modelo, letra de unidad, Hardware ID, etc.
Parece algo genérico, así que debería de bastar con DeviceID para sacar la Letra de Unidad y DriveType para sacar si es una unidad extraíble o no. El problema es que dices que no sabes nada del tema :xD Lo más simple y sencillo sería: Código
- Esto sí usar WMIC es obligatorio para identificar que la Unidad es Extraíble y agregando tu suposición de que la Unidad será siempre E:\, sino habría que agregar más líneas para identificar también la Letra de Unidad, incluso si hay más de una Unidad Extraíble u otra manera de identificarlas Título: Re: Necesito ayuda Publicado por: Magnumrace en 28 Abril 2021, 17:09 pm Hola, si tu profesor te está evaluando para lo que no te enseñó entonces deberías denunciarlo al rector. De todas maneras debes usar la sentencia "exist" y la unidad, a eso debes anteponer una condicional de tipo if y dentro del bloque realizar la acción de copiado, en caso contrario debería lanzar un echo con el mensaje de error y retornar un valor positivo para indicarle al sistema que se produjo un error en el resultado del script. Espero te sirva, saludos. Gracias por tu ayuda! He intentado aprender un poco de los comandos nuevos que desconozco y me has dicho, pero aún sigo intentando y no me ha salido aún :xD Título: Re: Necesito ayuda Publicado por: Magnumrace en 28 Abril 2021, 17:17 pm wmic sirve para ver información del sistema, ahora bien, como siempre estas tareas dependen mucho del contexto, es decir, que instrucciones usar (wmic), cuan complejo puede ser el script, etc, pero también puede faltar la manera de identificar a ese USB que se menciona, puede ser por su nombre, marca, modelo, letra de unidad, Hardware ID, etc. Parece algo genérico, así que debería de bastar con DeviceID para sacar la Letra de Unidad y DriveType para sacar si es una unidad extraíble o no. El problema es que dices que no sabes nada del tema :xD Lo más simple y sencillo sería: Código
- Esto sí usar WMIC es obligatorio para identificar que la Unidad es Extraíble y agregando tu suposición de que la Unidad será siempre E:\, sino habría que agregar más líneas para identificar también la Letra de Unidad, incluso si hay más de una Unidad Extraíble u otra manera de identificarlas Gracias! Me has ayudado bastante. Solo tengo una pregunta. Supongamos que está en otra unidad el USB. ¿Cómo hago para interactuar con el script y le diga que está en el :H? Y si no está conectado le puedo agregar un mensaje diciendo que no está esa unidad conectada? Todo me viene de mucha ayuda, puesto que, es todo nuevo para mi. Estoy estudiando administración en sistemas informáticos en red y esto que me está enseñando mi profesor de hardware se va de tema por así decirlo. Título: Re: Necesito ayuda Publicado por: EdePC en 28 Abril 2021, 21:38 pm Bueno, como ya dije se puede usar el DeviceID para obtener la letra de Unidad de la Unidad de Almacenamiento USB, para esto ya hay que complicar un poquito el Script:
Código El único detalle ahora es cuando hay más de una USB :xD, este Script solo hace la copia en la Primera que encuentra. Tienes un tutorial de Batch básico/medio acá: Tutorial de Programación Batch (Nikos3194, 2013) https://sites.google.com/site/nikos3194rfcindex/Tutorial%20de%20programacion%20Batch%20%5Bfinal%5D.pdf Recuerda que siempre puede hacer un /? para obtener ayuda de un comando, por ejemplo: Código
Salvo el comando WMIC todo lo demás está bien explicado en el Tutorial que puse antes. Título: Re: Necesito ayuda Publicado por: Magnumrace en 29 Abril 2021, 09:21 am Bueno, como ya dije se puede usar el DeviceID para obtener la letra de Unidad de la Unidad de Almacenamiento USB, para esto ya hay que complicar un poquito el Script: Código El único detalle ahora es cuando hay más de una USB :xD, este Script solo hace la copia en la Primera que encuentra. Tienes un tutorial de Batch básico/medio acá: Tutorial de Programación Batch (Nikos3194, 2013) https://sites.google.com/site/nikos3194rfcindex/Tutorial%20de%20programacion%20Batch%20%5Bfinal%5D.pdf Recuerda que siempre puede hacer un /? para obtener ayuda de un comando, por ejemplo: Código
Salvo el comando WMIC todo lo demás está bien explicado en el Tutorial que puse antes. Me has ayudado bastante! Gracias! Seguro este fin de semana empiece a ver un poco y entender mejor el tema. Saludos! Título: Re: Necesito ayuda Publicado por: Serapis en 29 Abril 2021, 17:38 pm No creo que tu profesor pretenda de verdad que resuelvas el tema, sin antes leer la documentación.
El siguiente comando te ilustra sobre las opciones del comando referido: >wmic logicaldisk /? En la ruta ...windows\help\ probablemente encuentres el fichero de ayuda: wmic.chm, de no ser así haz una búsqueda por los archivos en tu sistema luego ordénalos por tipo y mira a ver cual es de ayuda: "*wmi*.*" Código
|