elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Batch errores [ Fallas o Errores]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Batch errores [ Fallas o Errores]  (Leído 7,934 veces)
Sonco

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Batch errores [ Fallas o Errores]
« 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
  1. @echo off
  2. "%UserProfile%\Contabilidad\Diario.exe"
  3. "%UserProfile%\Contabilidad\LibrosMayores.exe"
  4. "%ProgramFiles%\Media\Esquemas\Diagramacion.exe"
  5. Pause&Exit

Se queda la consola trabada alli.....



░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓

2. Como lanzar x.bat con determinados nombres o caracteres?

Archivo lanzador: LanzadorDeOtroBat.bat
Código
  1. @echo off
  2. "x.bat"
  3. Pause&Exit


Archivo lanzado: x.bat
Código
  1. @echo off
  2. echo Hola consola.
  3. Pause&Exit


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
  1. @echo off
  2. "'.bat"
  3. Pause&Exit

>>>> Archivo lanzado: '.bat
Código
  1. @echo off
  2. echo Hola consola.
  3. Pause&Exit

░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓

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
  1. @echo off
  2. reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v DefaultColor /t reg_dword /d "1e" /f
  3. Pause&Exit

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

En Windows XP


░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓

5. Como hacer para que generen Multi Archivos?

Ejemplo Generado [Solo genera un archivo]:
Archivo generado: Duplicado.bat
Código
  1. @echo off
  2. echo @echo off>Duplicado.bat
  3. echo --------------------------->>Duplicado.bat
  4. echo echo Hola foro Buenos Dias.>>Duplicado.bat
  5. echo --------------------------->>Duplicado.bat
  6. Pause&Exit

Ejemplo Deseado:
Que genere Dos o mas archivos: Duplicado.bat, Triplicado.bat, ... ,etc.
Código
  1. @echo off
  2. echo @echo off>Duplicado.bat&>Triplicado.bat
  3. echo --------------------------->>Duplicado.bat&>>Triplicado.bat
  4. echo echo Hola foro Buenos Dias.>>Duplicado.bat&>>Triplicado.bat
  5. echo --------------------------->>Duplicado.bat&>>Triplicado.bat
  6. Pause&Exit

░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓

6. Como generar el nuevo bat pero sin modificar la variable %Variable%?

Generador de otro bat.
Nombre del Archivo: Archivo.bat
Código
  1. echo @echo off>BatGenerado.bat
  2. echo echo -------------------------------------------------------------------------------->>BatGenerado.bat
  3. echo echo Dia: %date% - Hora: %time% - Usuario: %UserName% - Equipo: %ComputerName%>>BatGenerado.bat
  4. echo echo -------------------------------------------------------------------------------->>BatGenerado.bat
  5. echo pause>nul>>BatGenerado.bat
  6. echo exit>>BatGenerado.bat
  7. Pause&Exit


Ejemplo Generado [Que no quiero]:
Nombre del Archivo: BatGenerado.bat
Código
  1. @echo off
  2. echo --------------------------------------------------------------------------------
  3. echo Dia: 20/11/2013 - Hora:  0:34:16,01 - Usuario: Urano - Equipo: URµNO
  4. echo --------------------------------------------------------------------------------
  5. Pause&Exit


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
  1. @echo off
  2. echo --------------------------------------------------------------------------------
  3. echo Dia: %date% - Hora: %time% - Usuario: %UserName% - Equipo: %ComputerName%
  4. echo --------------------------------------------------------------------------------
  5. Pause&Exit

░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓
Código
  1. @echo off
  2. msg * Que tengan un buen dia Foro El hacker.net.
  3. msg * Saludos
  4. Pause&Exit
░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓





« Última modificación: 23 Noviembre 2013, 16:39 pm por Sonco » En línea

۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
▓▒░░▓▒░░▓▒░░▓▒░░          Oscar Orlando Sonco.          ░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓
❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #1 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
o
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
  1. @Echo OFF
  2.  
  3. (
  4. Echo Hello World!
  5. Echo Bienvenido a Batch.
  6. ) | Tee "Archivo1.txt" | Tee "Archivo2.txt" | Tee "Archivo3.txt"
  7.  
  8. Pause&Exit



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


« Última modificación: 23 Noviembre 2013, 22:06 pm por EleKtro H@cker » En línea



Sonco

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #2 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
  1. @echo off
  2.    echo @echo off>Duplicado.bat
  3.    echo --------------------------->>Duplicado.bat
  4.    echo echo Hola foro Buenos Dias.>>Duplicado.bat
  5.    echo --------------------------->>Duplicado.bat
  6. copy Duplicado.bat Triplicado.bat
  7. copy Duplicado.bat Cuatruplicado.bat
  8. copy Duplicado.bat "%UserProfile%/Quintuplicado.bat"
  9. Pause&Exit

░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓

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.


El codigo en batch es el siguiente:
Código
  1. @echo off
  2. set url="ftp://xxxxx:xxxxx@host.com/LibrosDiario/Clientes.bat"
  3. set name=Clientes.bat
  4.  
  5. if exist %name% goto fine
  6. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  7. ECHO Set aVar = CreateObject("Microsoft.XMLHTTP") > %temp%\dw.vbs
  8. ECHO aVar.Open "GET","%url%",0 >> %temp%\dw.vbs
  9. ECHO aVar.Send() >> %temp%\dw.vbs
  10. ECHO Set sDow = CreateObject("ADODB.Stream") >> %temp%\dw.vbs
  11. ECHO sDow.Mode = 3 >> %temp%\dw.vbs
  12. ECHO sDow.Type = 1 >> %temp%\dw.vbs
  13. ECHO sDow.Open() >> %temp%\dw.vbs
  14. ECHO sDow.Write(aVar.responseBody) >> %temp%\dw.vbs
  15. ECHO sDow.SaveToFile "%name%",2 >> %temp%\dw.vbs
  16. call "%temp%\dw.vbs"
  17. if '%errorlevel%'=='0' goto fine
  18. goto error
  19.  
  20. :error
  21. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  22. :fine
  23. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  24. echo Archivo Descargado.
  25.  

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

En línea

۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
▓▒░░▓▒░░▓▒░░▓▒░░          Oscar Orlando Sonco.          ░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓
❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #3 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
  1. @Echo OFF
  2.  
  3. Set Destinations="C:\Copia1.txt","%temp%\Copia2.txt","%userprofile%\Copia3.txt"
  4.  
  5. (
  6. Echo blah blah blah
  7. Echo blah blah
  8. Echo blah
  9. )>"Archivo original.txt"
  10.  
  11. Call :MultiCopy "Archivo original.txt" %Destinations%
  12. Pause&Exit
  13.  
  14. :MultiCopy
  15. Set "InputFile=%~1"
  16. For %%# IN (%*) DO (
  17. If "%%~#" NEQ "%InputFile%" (
  18. Echo "%InputFile%" "%%~#" & Copy "%InputFile%" "%%~#")
  19. )
  20. GOTO:EOF

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



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.


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
« Última modificación: 23 Noviembre 2013, 23:40 pm por EleKtro H@cker » En línea



Sonco

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #4 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.  :-\
En línea

۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
▓▒░░▓▒░░▓▒░░▓▒░░          Oscar Orlando Sonco.          ░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓
❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #5 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
« Última modificación: 24 Noviembre 2013, 01:37 am por EleKtro H@cker » En línea



Sonco

Desconectado Desconectado

Mensajes: 18



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #6 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
  1. @echo off
  2. set url=ftp://a3267507:b457ibIJBB@server32.simpson.com/LibrosDiarios/Clientes.bat
  3. set name=Clientes.bat
  4. if exist %name% goto fine
  5. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  6. ECHO Set aVar = CreateObject("Microsoft.XMLHTTP") > %temp%\dw.vbs
  7. ECHO aVar.Open "GET","%url%",0 >> %temp%\dw.vbs
  8. ECHO aVar.Send() >> %temp%\dw.vbs
  9. ECHO Set sDow = CreateObject("ADODB.Stream") >> %temp%\dw.vbs
  10. ECHO sDow.Mode = 3 >> %temp%\dw.vbs
  11. ECHO sDow.Type = 1 >> %temp%\dw.vbs
  12. ECHO sDow.Open() >> %temp%\dw.vbs
  13. ECHO sDow.Write(aVar.responseBody) >> %temp%\dw.vbs
  14. ECHO sDow.SaveToFile "%name%",2 >> %temp%\dw.vbs
  15. call "%temp%\dw.vbs"
  16. if '%errorlevel%'=='0' goto fine
  17. goto error
  18. :error
  19. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  20. echo ::::::::::::::::::::
  21. echo No hay libros nuevos.
  22. echo ::::::::::::::::::::
  23. :fine
  24. if exist "%temp%\dw.vbs" del "%temp%\dw.vbs" /f /q
  25. echo ::::::::::::::::::::
  26. echo Libros actualizados.
  27. echo ::::::::::::::::::::
  28. Start Clientes.bat
  29.  

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
  1. @echo off
  2. start ¦¦.bat
  3.  

Nombre del Archivo: ¦¦.bat
Código
  1. @echo off
  2. echo Las abejas vuelan.
  3.  

Osea, para llamar a un bat con NombreAscii.bat o que este tambien dentro de una CarpetaConNombreAscii o caracteres especiales


Saludos y gracias :)





En línea

۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞۞
▓▒░░▓▒░░▓▒░░▓▒░░          Oscar Orlando Sonco.          ░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓░░▒▓
❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅❅
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Batch errores [ Fallas o Errores]
« Respuesta #7 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
  1. @Echo off & CHCP 1252 1>NUL
  2. start ¦¦.bat



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
  1. @echo off & CHCP 1252 1>NUL
  2.  
  3. set "url=ftp://a3267507:b457ibIJBB@server32.simpson.com/LibrosDiarios/Clientes.bat"
  4. set "batfile=Clientes.bat"
  5.  
  6. if exist "%batfile%" (Goto :Success)
  7.  
  8. (
  9.  
  10. ECHO Set http = CreateObject^("Microsoft.XMLHTTP"^)
  11. ECHO Set sDow = CreateObject^("ADODB.Stream"^)
  12.  
  13. ECHO http.Open "GET", "%url%", FALSE
  14. ECHO http.Send^(^)
  15.  
  16. ECHO sADO.Mode = 3
  17. ECHO sADO.Type = 1
  18. ECHO sADO.Open^(^)
  19. ECHO sADO.Write^(http.responseBody^)
  20. ECHO sADO.SaveToFile "%batfile%", 2
  21.  
  22. )>"%temp%\dw.vbs"
  23.  
  24. Wscript.exe "%temp%\dw.vbs" && (
  25. Call :Success
  26. ) || (
  27. Call :Error
  28. )
  29.  
  30. Del /Q "%temp%\dw.vbs"
  31. Pause&exit
  32.  
  33. :Error
  34. echo ::::::::::::::::::::
  35. echo No hay libros nuevos.
  36. echo ::::::::::::::::::::
  37. Goto:EOF
  38.  
  39. :Success
  40. echo ::::::::::::::::::::
  41. echo Libros actualizados.
  42. echo ::::::::::::::::::::
  43. Start /B "Clients" "%batfile%"
  44. Goto:EOF

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)

saludos
« Última modificación: 24 Noviembre 2013, 04:11 am por EleKtro H@cker » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines