Título: Batch errores [ Fallas o Errores] Publicado por: Sonco en 23 Noviembre 2013, 16:37 pm Buenos Dias,
Batcheando me tope con los siguientes errores, favor indicarme en que ando fallando. Aunque reviso las sintaxis correspondientes, aun asi nada. ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 1. Ejecuciones paradas Quiero lanzar tres aplicaciones desde batch, pero solo lanza la primera "Diario.exe" luego la consola se queda trabado como en la imagen y no lanza las otras dos aplicaciones. O como hago para llamar o iniciar las tres aplicaciones. Hize la prueba de otras maneras, con FOR, con IF, con START, con & en la misma linea, generando variables para cada programa y llamandolas por su variables, llamando de un bat a otros bat individuales y NADA, solo se queda hasta lanzar el primer *.exe y se traba. Código Se queda la consola trabada alli..... (https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-ash3/1454746_180329132170801_1183772478_n.jpg) ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 2. Como lanzar x.bat con determinados nombres o caracteres? Archivo lanzador: LanzadorDeOtroBat.bat Código Archivo lanzado: x.bat Código La duda: como lanzar si el archivo tiene los siguientes nombres dentro de los corchetes? [·][`] u tambien ['] Ejemplo deseado: que "LanzadorDeOtroBat.bat" lanze el archivo ['.bat] Nota. Manualmente ['.bat] (haciendo clic sobre ese bat) ejecuta de manera normal los comandos de ese bat, PERO, llamando desde otro bat no ejecuta. Archivo lanzador: LanzadorDeOtroBat.bat Código >>>> Archivo lanzado: '.bat Código ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 3. Cual es la sintaxys exacta para apagado con comentarios planificados? Es que me sale error con la sintaxis que hize... Shutdown /s /t 25 /d [p|u:]xx:yy Razones en este equipo: (E = Se esperaba U = No se esperaba P = Planeado, C = Definido por el cliente) Tipo Princ. Secund. T¡tulo U 0 0 Otros (no planeado) E 0 0 Otros (no planeado) E P 0 0 Otros (planeado) U 0 5 Otro error: el equipo no responde E 1 1 Hardware: mantenimiento (no planeado) E P 1 1 Hardware: mantenimiento (planeado) E 1 2 Hardware: instalaci¢n (planeada) E P 1 2 Hardware: instalaci¢n (planeada) E 2 2 Sistema operativo: recuperaci¢n (no planeada) E P 2 2 Sistema operativo: recuperaci¢n (planeada) P 2 3 Sistema operativo: actualizaci¢n (planeada) E 2 4 Sistema operativo: reconfiguraci¢n (no planeada) E P 2 4 Sistema operativo: reconfiguraci¢n (planeada) P 2 16 Sistema operativo: service pack (planeado) 2 17 Sistema operativo: correcci¢n urgente (no planeada) P 2 17 Sistema operativo: correcci¢n urgente (planeada) 2 18 Sistema operativo: correcci¢n de seguridad (no plan.) P 2 18 Sistema operativo: correcci¢n de seguridad (planeada) E 4 1 Aplicaci¢n: mantenimiento (no planeado) E P 4 1 Aplicaci¢n: mantenimiento (planeado) E P 4 2 Aplicaci¢n: instalaci¢n (planeada) E 4 5 Aplicaci¢n: sin respuesta E 4 6 Aplicaci¢n: inestable U 5 15 Error del sistema: sistema detenido U 5 19 Problema de seguridad (no planeado) E 5 19 Problema de seguridad (no planeado) E P 5 19 Problema de seguridad (planeado) E 5 20 P‚rdida de conectividad de red (no planeada) U 6 11 Error de alimentaci¢n: se desconect¢ el enchufe U 6 12 Error de alimentaci¢n: externo P 7 0 Apagado de la API heredada Cual seria por ejemplo para reiniciarlo (shutdown /r) con "E 1 1 Hardware: mantenimiento (no planeado)" ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 4. Como predeterminar X color en la consola? Código Errores salidos al ejecutar estos Batch. NOTA. Manualmente desde regedit no muestra problemas en el cambio, pero si desde Batch. Las imagenes... En Windows 8.1 (https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-frc1/1422388_180329122170802_1747316944_n.jpg) En Windows XP (https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-prn2/1456020_180329135504134_2093556555_n.jpg) ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 5. Como hacer para que generen Multi Archivos? Ejemplo Generado [Solo genera un archivo]: Archivo generado: Duplicado.bat Código Ejemplo Deseado: Que genere Dos o mas archivos: Duplicado.bat, Triplicado.bat, ... ,etc. Código ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ 6. Como generar el nuevo bat pero sin modificar la variable %Variable%? Generador de otro bat. Nombre del Archivo: Archivo.bat Código Ejemplo Generado [Que no quiero]: Nombre del Archivo: BatGenerado.bat Código Ejemplo Deseado: Nombre del Archivo: BatGenerado.bat Nota. o como se usa el signo de intercalacion? para que no afecte al nuevo valor... ^%date^% Código ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ Código ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ Título: Re: Batch errores [ Fallas o Errores] Publicado por: Eleкtro en 23 Noviembre 2013, 18:13 pm 1. Quiero lanzar tres aplicaciones desde batch, pero solo lanza la primera "Diario.exe" luego la consola se queda trabado como en la imagen y no lanza las otras dos aplicaciones. Por defecto cuando se ejecuta una aplicación se interrumpe la ejecución del hilo hasta que dicha aplicación finalice, entonces, debes ejecutar las aplicaciones en paralelo. Código: Start /B "Título 1" "Aplicacion 1.exe" Start /B "Título 2" "Aplicacion 2.exe" Start /B "Título 3" "Aplicacion 3.exe" 2. Como lanzar x.bat con determinados nombres o caracteres? No entiendo la duda. 3. Cual es la sintaxys exacta para apagado con comentarios planificados? La ilustración de sintaxis de la ayuda del comando Shutdown es bastante clara: Cita de: CMD Help Código: /d [p|u:]xx:yy Proporciona la razón del reinicio o apagado. p indica que el reinicio o el apagado está planeado. u indica que la razón está definida por el usuario. xx es el número de razón principal (entero positivo inferior a 256). yy es el número de razón secundario (entero positivo inferior a 65536). Traducción: Código: "p" o "u":Identificador de razon principal:Identificador de razón secundaria Ejemplo: Código: shutdown -s -c "apagado" -d p:5:20 4. Como predeterminar X color en la consola? Estás usando una sintaxis incorrecta, aquí te expliqué el motivo y dos soluciones: http://foro.elhacker.net/scripting/batch_regedit_en_que_fallo-t402480.0.html;msg1897160#msg1897160 Citar Código: reg add "HKCU\Software\Microsoft\Command Processor" /v DefaultColor /t reg_dword /d "0x1e" /f Citar Código: reg add "HKCU\Software\Microsoft\Command Processor" /v DefaultColor /t reg_dword /d "30" /f ¿ Porque sigues utilizando el mismo valor ? 5. Como hacer para que generen Multi Archivos? No puedes redireccionar la misma salida a más de un archivo, símplemente no es posible. Pero puedes utilizar un puerto nativo para Windows del comando Tee de Linux que viene incluido en el paquete CoreUtils de GnuWin, el propósito del comando Tee es únicamente redireccionar las veces que quieras. http://sourceforge.net/projects/gnuwin32/files/coreutils/5.3.0/coreutils-5.3.0-bin.zip/download?use_mirror=switch&download= Ejemplo: Código 6. Como generar el nuevo bat pero sin modificar la variable %Variable%? Debes ^escapar cualquier operador de Batch. Ejemplo (diréctamente en consola): Código: Echo ^%date^% Pero, al tratarse de un script, lo que debes hacer es duplicar el símbolo % de la siguiente manera: Código: Echo %%date%% > archivo.txt PD: Todos los demás operadores (incluido el operador de escape) tienen que ser escapados tanto diréctamente en la consola como en un script, las %variables% son la única excepción. Saludos Título: Re: Batch errores [ Fallas o Errores] Publicado por: Sonco en 23 Noviembre 2013, 22:00 pm 2. No entiendo la duda. Antes que nada Gracias por las respuestas EleKtro H@cker.Sobre la 2. Como lanzar x.bat con determinados nombres o caracteres? Me referia a que por ejemplo un Archivo.bat llamarlo desde otro ArchivoLlamador.bat. Eso es normal hasta cierto punto....... Pero....... Si el Archivo.bat lo renombro con un caracter como [·][`] u tambien ['], osea con apostrofo, comillas, etc. Manualmente permite renombrar a un [Archivo.bat] hacia [`.bat] osea renombrandolo, no con caracter número ni alfabetico. Y el nuevo archivo renombrado [`.bat] ejecutandolo de manera manual, compila de manera normal la linea de comandos alli dentro. PERO, si quiero llamar a ese [`.bat] desde otro ArchivoLlamador.bat no lo reconoce. ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ Sobre la 5. Lo pense recien, ubique otra solucion, espero que sirva a alguien. Como generar multiples archivos desde un *.bat Código ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ Aproposito. copie un script de este foro [ Que descargaba y subia a un FTP ]. Solo puse la primera parte para que descargue un archivo. En Windows 8 descarga normal, pero en Windows Xp sale el siguiente error. (https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-frc3/1441181_180384315498616_2144523363_n.jpg) El codigo en batch es el siguiente: Código Aunque hize algunas modificaciones para XP, sigue asi, y en Windows 8 descarga OK, pero, si actualizo por ejemplo Clientes.bat en el FTP, en Windows 8 sigue el Clientes.bat que baje primero. y no el que modifique ultimo en el servidor del FTP. Busque en los temporales y no encontre Clientes.bat para borrarlo, y asi permitir que el nuevo Clientes.bat se descargue. ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ A si encuentro algo les aviso. ;D Título: Re: Batch errores [ Fallas o Errores] Publicado por: Eleкtro en 23 Noviembre 2013, 23:24 pm Citar Me referia a que por ejemplo un Archivo.bat llamarlo desde otro ArchivoLlamador.bat. Eso es normal hasta cierto punto....... Pero....... Si el Archivo.bat lo renombro con un caracter como [·][`] u tambien ['], osea con apostrofo, comillas, etc. Manualmente permite renombrar a un [Archivo.bat] hacia [`.bat] osea renombrandolo, no con caracter número ni alfabetico. Y el nuevo archivo renombrado [`.bat] ejecutandolo de manera manual, compila de manera normal la linea de comandos alli dentro. PERO, si quiero llamar a ese [`.bat] desde otro ArchivoLlamador.bat no lo reconoce. Sin ánimo de ofender, pero la forma de exponer el problema (las dos veces) me resulta inentendible, al menos yo sigo sin entender que problema tienes al llamar a un archivo con ese tipo de nombre, lo siento, pero hay algo sin mucha importancia que me gustaría resaltar en el párrafo que has escrito, es el término Compilar. Batch no se puede compilar, no es compilable, no es un lenguaje compilado, ni siquiera se le debería poder llamar lenguaje de programación, porque es mucho menos que eso. Sobre la 5. Lo pense recien, ubique otra solucion, espero que sirva a alguien. Como generar multiples archivos desde un *.bat Te respondí centrándome en el tema del redireccionamiento por que pusiste un ejemplo parecido a esto: Código: echo algo >>archivo1 >>archivo2 El ejemplo que muestras ahora tiene que ver más con el duplicado masivo de archivos. No hay una manera limpia de hacer esto en Batch, pero desde luego la tarea se puede automatizar sin necesidad de escribir cientos de Copys...: Código Y si no recuerdo mal creo que a este script le añadí un método para generar miles de archivos aleatorios en el escritorio, puedes examinar esa parte del código para tomar nota: Virulator (http://foro.elhacker.net/scripting/batch_virulator_10c-t364441.0.html;msg1756679#msg1756679) Citar Aproposito. copie un script de este foro [ Que descargaba y subia a un FTP ]. Solo puse la primera parte para que descargue un archivo. En Windows 8 descarga normal, pero en Windows Xp sale el siguiente error. (https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-frc3/1441181_180384315498616_2144523363_n.jpg) El código tiene un error de sintaxis aquí: Citar Código: set url="ftp://xxxxx:xxxxx@host.com/LibrosDiario/Clientes.bat" Citar Código: ECHO aVar.Open "GET","%url%",0 >> %temp%\dw.vbs Estás añadiendo un par de comillas dobles de más en el archivo VBS. Como norma general las variables se deben encerrar así: Código: Set "Var=Value" EDITO: Excepto en ocasiones donde intencionadamente las cerraremos mal, como en el código de arriba, el del multicopy. De todas formas el mensaje de error te está indicando la linea conflictiva y la posición exacta del conflicto en dicha linea... pues la próxima vez no tienes más que abrir el script para comprobar lo que se ha escrito mal. Saludos Título: Re: Batch errores [ Fallas o Errores] Publicado por: Sonco en 24 Noviembre 2013, 00:43 am Batch no se puede compilar, no es compilable De acuerdo, usare el termino ejecutar para archivos bat y no compilar. Sin ánimo de ofender, pero la forma de exponer el problema (las dos veces) me resulta inentendible, al menos yo sigo sin entender que problema tienes... Saludos Sobre lo que no expuse entendible, busco llamar desde un *.bat a otro *.bat Solo que el bat a llamarlo tiene nombre '.bat Te comento que el codigo realize las correcciones. A. Descarga el archivo Clientes.bat pero solo en Windows 8, y no en Windows XP. B. (En Windows 8) No me actualiza el Clientes.bat descargado. Por ejemplo el Clientes.bat de las 5 p.m. es diferente al de las 6 p.m. [En el servidor FTP] Claro lo reemplaza al nuevo. Pero con este script al descargar me muestra el primer Clientes.bat y no el que modificamos en el server. Busque manualmente en los %Temp% el Clientes.bat para borrarlo pero no lo encuentro. Perdon si no me explico, ando con los nervios de punta. :-\ Título: Re: Batch errores [ Fallas o Errores] Publicado por: Eleкtro en 24 Noviembre 2013, 01:33 am De acuerdo, usare el termino ejecutar para archivos bat y no compilar. No se trata de usar el término correcto (aunque eso siempre está bien), se trata de aprender, entender, y diferenciar los conceptos... Si lo has hecho (o si ya conocias la diferencia) entonces me alegro. Sobre lo que no expuse entendible, busco llamar desde un *.bat a otro *.bat Solo que el bat a llamarlo tiene nombre '.bat Los factores del problema me quedaron claros la segunda vez que lo mencionaste (o eso creo), tienes un archivo bat (caller) con un nombre cualquiera, y tienes un segundo archivo bat (callme) con nombre '.bat, pero el caller no puede llamar al callme, los datos son insuficientes, sigo sin entender el problema que tienes... 1. Muestra la forma en la que intentas llamar al '.bat, pero muestra un código real, no un ejemplo, el código el que estés usando tú. 2. Muestra el mensaje/código de error al intentar llamar al '.bat (si hubiera alguno). En resumen, más detalles acerca del problema y especifica los pasos a seguir para poder reproducir el susodicho error y así poder ofrecerte una solución. Saludos Título: Re: Batch errores [ Fallas o Errores] Publicado por: Sonco en 24 Noviembre 2013, 02:44 am En resumen, más detalles acerca del problema... Codigo del Actualizador, que no me actualiza. ≥ Nombre del Archivo: Actualizador.bat Código
Mis fallas sobre este code. 1. En Windows Xp no funciona. 2. En Windows 8, descarga el Clientes.bat pero no actualiza a la nueva modificacion [ Si asi lo hubiera]. ● Digamos el Clientes.bat lo subi al FTP a las 6 a.m. ● A las 7 a.m. el usuario ejecuta el Actualizador.bat y obtiene el Clientes.bat subido de las 6 a.m. ● A las 11 a.m. yo modifico el Clientes.bat y lo subo nuevamente al FTP reemplazandolo el antiguo. ● A las 1 p.m. el usuario ejecuta el Actualizador.bat y obtiene el Clientes.bat [ Nuevo y Modificado, el de las 11 a.m.] ... Y eso es lo que no ocurre, me sigue bajando, bueno, al menos mostrandome el Clientes.bat de las 6 a.m. y no de las 11 a.m. y eso que limpie los temporales. ░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓ Nombre del Archivo: LlamaOtroBat.bat Código
Nombre del Archivo: ¦¦.bat Código Osea, para llamar a un bat con NombreAscii.bat o que este tambien dentro de una CarpetaConNombreAscii o caracteres especiales (https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn2/1464684_180427812160933_839625278_n.jpg) Saludos y gracias :) Título: Re: Batch errores [ Fallas o Errores] Publicado por: Eleкtro en 24 Noviembre 2013, 04:07 am Osea, para llamar a un bat con NombreAscii.bat o que este tambien dentro de una CarpetaConNombreAscii si hubieras empezado por ahí creo que nos hubiéramos ahorrado todo esto... :silbar: Hay más de una opción, pero solo te comentaré la más sencilla, es utilizar el código de páginas adecuado: Caller.bat Código
La lógica de la CMD de WinXP difiere de las versiones posteriores de Windows, aunque a simple vista no veo ningún error grave de sintaxis, la CMD de XP debería procesar corréctamente el código, pero de todos modos no me sirve que me digan "no funciona", no voy a intentar adivinar a que se refiere la gente cuando dice "no funciona", si es un error en alguna linea específica, o si es porque no hace lo que quieres que haga, o... en fín, detalles... De entre todo el script hay una linea a resaltar: Citar Código: if '%errorlevel%'=='0' goto fine ...Puesto que la sintaxis es complétamente erronea para lo que intentas hacer. 1. En teoria intentas evaluar un valor numérico, pero al usar comillas haces todo lo contrario. 2. El uso de las comillas simples no tienen ningún sentido en Batch, exceptuando su uso en la expresión del comando FOR. Aquí tienes... Código
Quiero aclarar que no lo he testeado, lo único que he hecho ha sido adaptar el código a las circunstancias y simplificarlo dentro de lo que cabe. PD: Deberías mejorar el mecanismo del VBS para controlar cuando se debe devolver un código de retorno negativo u positivo según el caso específico... -> Quit Method (Windows Script Host) (http://msdn.microsoft.com/en-us/library/fw0fx1aw%28v=vs.84%29.aspx) saludos |