Título: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 16 Abril 2012, 19:07 pm Hola amigos una vez mas traigo un reto muy complicado. Resulta que viendo una imagen vi como una barra de progreso hiba avanzando. Esa idea me encanto asi que me puse a revisar su script. Lo que paso fue que utilizaba el call cosa que me soluciono otra duda que no viene al caso. La question es que mi programa borra archivos (de cache ect) la question es que si pongo el call me sale: No se ha encontrado X archivo. Y claro queda fatal. Despues se me ocurrio limpiando la pantalla pero claro tambien limpia el call. Tengo una solucion que seria:
Código: if exist XXXX.XX goto :seguir1 PD: Duda extra haber quien la sabe: Que es echo+??? PD2:Edito para degar la duda mas clara que uso call como etiqueta no como comando. (Urge un poquito gracias) PD3: trible duda: Sabe alguien el comando para que salte una ventana de aviso? El amo Google me dice que es msg pero no. PD4: Otra duda mas!!! Tengo otra duda que la busco en google si no modifico el post PD5: Esta no es la duda de antes pero: Existe alguna manera de mandar a windows que comprima un archivo a Zip? Gracias PD6: Esta si es la duda del PD4: Estoy intentando hacer un registro que pongas una pass y te diga Version registrada o no registrada (De aqui el PD3) La question es que si lo hago en archivo es muy facil de jaquear. Si lo meto en el registro es mas dificil. Por eso usario Reg add. Pero claro para comparar necesito reg compare y no entiendo su sintaxis. Alguien me ayuda? Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 16 Abril 2012, 20:30 pm Por dios, 6 postdatas xD
Pero claro para comparar necesito reg compare y no entiendo su sintaxis. Alguien me ayuda? Para verificar el valor de una clave, Usa reg query. Código si pongo el call me sale: No se ha encontrado X archivo Redirecciona la salida del comando DEL para ocultar el mensaje de "no se encuentra el archivo"... Código PD3: trible duda: Sabe alguien el comando para que salte una ventana de aviso? El amo Google me dice que es msg pero no. En windows XP puedes usar el comando "MSG" En otros windows NO. Puedes usar las aplicaciones de terceros: NirCMD, Messagebox, y alguna más q no recuerdo... También puedes hacerlo con una simple línea de vbscript: Código
PD5: Esta no es la duda de antes pero: Existe alguna manera de mandar a windows que comprima un archivo a Zip? Gracias 7zip, gzip, winzip o WinRAR por linea de comandosQue es echo+??? Lee un tutorial básico de Batch y lo entenderás :PSalu2 Título: Re: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 16 Abril 2012, 20:58 pm Rengo que ir por puntos que si no no me aclaro:
1-Exacto!!! Pero existe alguna forma de hacer: If exist Y una entra da de registro? 2-Ahora lo pruebo pero hace pinta de ser exactamente lo que busco. 3- ¿? (Que conste que tengo que irme por eso no pruebo todavía los codes) No entiedo. Osea ese codigo que tu me has dado es valido o no? 4-Si pero en Windows 7 (No se si en Vista o XP) Existe la posibilidad de comprimirlo en zip sin un compresor (Enviar a > Archivo comprimido zip 5- Haro lo busco pero en google todo el rato me estan apareciendo tutoriales de echo y echo. Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 16 Abril 2012, 21:18 pm Cita de: ELVJop 1-If exist Y una entra da de registro? No, "If exist" es una comprobación para archivos. Tienes que usar reg query.Cita de: ELVJop 3- ese codigo que tu me has dado es valido o no? Si, Como ya dije es un simple vbs.http://msdn.microsoft.com/en-us/library/sfw6660x%28v=vs.85%29.aspx Código Cita de: ELVJop 4-en Windows 7 Existe la posibilidad de comprimirlo en zip sin un compresor (Enviar a > Archivo comprimido zip Pero no es un comando.Cita de: ELVJop 5- lo busco me estan apareciendo tutoriales de echo y echo. Código Sirve para insertar una línea en blanco. Saludosss Título: Re: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 16 Abril 2012, 21:36 pm vamos reduciendo!!!! Edit: No terminamos de reducir
1- Si pero si es el usuario el que pone la contraseña como lo hago? En archivos es if exist xxxx.xx goto :yaregistrado else goto :sinregistrar. El query esta bien pero y si no existe la entrada? Tendra que ser creada no? 4- ¿Pero existe alguan forma de coger la ruta o algo y pasarlo tipo start XXX.exe /C:\Misarchivos\comprimirestacarpeta ¿? Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 16 Abril 2012, 22:36 pm Cita de: ELVJop El query esta bien pero y si no existe la entrada? Tendra que ser creada no? El ejemplo que te dí crea primero la entrada con el pass ya predefinido para probar el code... luego el usuario tiene que typear la contraseña, y si no es correcta O SI NO EXISTIERA LA ENTRADA manda un código de error "1", El cual te sirve para lo que intentas.Si por otro lado tienes dificultades para hacer un menú de login, busca en los primeros temas (sobre batch) de este subforo encontrarás ejemplos recientes ya hechos, y en el buscador encontrarás muchos más. Cita de: ELVJop Código: @echo off ELVJop, Te estoy haciendo comprender que esa línea es vbs (VisualBasicScript), Es otro lenguaje de scripting. msgbox es una función de VBS, si quieres usarlo en un bat, usa el ejemplo tal cual lo puse en el comentario de arriba. Cita de: ELVJop 4- ¿Pero existe alguan forma de coger la ruta o algo y pasarlo tipo start XXX.exe /C:\Misarchivos\comprimirestacarpeta A cualquier programa por línea de comandos le puedes pasar un argumento. Código
PD: Mírate la ayuda de los programas: XXX.exe /? Cita de: ELVJop 5-que diferiencia hay entonces entre echo+ y echo.? Exactamente ninguna.Puedes usar: Código: echo+ hola Título: Re: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 16 Abril 2012, 22:39 pm Te adelantaste a mi ultimo edit. A vale ya te entiendo lo que quieres es que ponga set /p y que el diga la contraseña. Muy ingenioso gracias. No espera me estoy liando. Un segundo que me organize porque no lo entiendo. PErdon estoy echo un lio. Ya aclare mis ideas Lo que tu dices que si no existe (Errolevel) ME da 1 si pero lo malo es que entonces ya habras tipeado una contraseña. Pero lo tuyo no me sirve. Porque si yo quiero hacer algo tipo esto:
Código No se si me explico El problema esta en que IF exist como tu dices es para archivos. No para entradas en el registro. Lo que se me acaba de ocurrir es crear 2 entradas. 1 de ellas seria por ejemplo 1234 Despues un REg query para comparar esa entrada que es 1234 entonces lo comparo por errorlevel si me dice error es que nunca se ha registrado si no si se ha registrado Elektro H@cker: Usa las etiquetas para los códigos Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 16 Abril 2012, 23:08 pm A vale ya te entiendo lo que quieres es que ponga set /p y que el diga la contraseña. Muy ingenioso gracias. La verdad es que... No es ingenio, Es la única manera aquí y en China para interactuar con el usuario xD. Repito, Si leyeras (más) un tutorial básico o ejemplos, Conocerías los comandos de Batch y las posibilidades que te permiten hacer cada uno de ellos (al menos los comandos básicos como SET). if exist HCKU\XXXXX goto :yaregistrado else goto :registro PD: Borra eso de tu mente ya xD :PSi que te sirve. Otro ejemplo: Código Título: Re: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 17 Abril 2012, 19:03 pm Conseguido!!! He conseguido hacer mi programa. Ahora el problema esta en que quiero entendero. :¬¬ lo unico que no entiendo de todo el code es esto :
Código: Reg query "HKCU\Test1" >nul 2>&1 Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 17 Abril 2012, 19:19 pm lo unico que no entiendo de todo el code es esto : Código: Reg query "HKCU\Test1" >nul 2>&1 Query es para buscar coincidencias, Tú haces la comparación basándote en la búsqueda (Lo que encuentra). El comando de arriba busca la clave "HKCU\Test1", Redireccionando las dos salidas para no mostrar nada en pantalla. Título: Re: Batch Borrar la pantalla pero no el call Publicado por: ELVJop en 17 Abril 2012, 19:30 pm A osea lo que hace es buscarte esa linea y buscar coincidencias es Opcional por eso ponel errorlevel porque si da error es que no existe y si no existe es la primera vez que entra... Muchas gracias. PD: si lees esto. Existe alguna forma nativa en batch de hacer por ejemplo:
Lo que se be: Tu contraseña ··· Lo que es: Tu contraseña 123 Y si fuera 1234 que fuera 4 puntos ¿Se puede hacer de forma NATIVA? Título: Re: Batch Borrar la pantalla pero no el call Publicado por: Eleкtro en 17 Abril 2012, 20:51 pm Existe alguna forma nativa en batch de hacer por ejemplo: Lo que se be: Tu contraseña ··· Y si fuera 1234 que fuera 4 puntos ¿Se puede hacer de forma NATIVA? No, No puedes enmascarar caracteres en asteriscos. Lo más parecido es "set /p", Es lo único en Batch. Podrías usar la función ScriptPW de VisualBasicScript en un bat, pero solo está en WindowsXP. Saludos |