Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Baphonet

#1
Scripting / Re: Archivo bat
2 Diciembre 2008, 17:30 PM
No se como tienes el bat pero podrias poner algo asi:

start archivo.pdf
if errorlevel 1(
        echo "Instalar pdf"
)else(
        echo "abierto archivo pdf"
)


Aqui con el "if errorlevel" se comprueba el codigo de salida de la ultima instruccion dada, en este caso el start, suponiendo que utilices este comando para abrir el pdf si no es asi pon el comando que utilices en lugar del start.
Si un comando se ejecuta normalmente devuelve un codigo de salida de 0, en caso de error devuelve un numero mayor. Con if errorlevel se comprueba el codigo de salida del start ejecutando la instruccion "echo instalar pdf" si el codigo de salida del start es igual o mayor que 1, lo que significara que hay un error.

Espero que te sirva si no es asi postea el codigo del bat y seguro que a alguien se le ocurre alguna forma de ayudarte.

Saludos
#2
No hace falta que te disculpes, creo que todo el mundo debe enterder que todos tenemos nuestros problemas y no siempre podemos disponer del  tiempo que quisieramos para gastar en este mundillo que tanto nos apasiona.

En cuanto a tu codigo no salia como tu querias porque en los if y for las variables locales se calculan al inicio y no se modifican hasta el final de la agrupacion de instrucciones. Al principio la n vale 1 pero no cambia el valor a 2 hasta el final del if, por ello ambas instrucciones echo valen igual.

Lo he puesto asi para que funcione aunque seguro que hay mas posibilidades:
set n=1
:menu
if %n% EQU 10 (
goto :fin
)
echo Vale %n%
pause > nul
set /a n=%n%+1
echo Ahora vale %n%
pause > nul
goto :menu
:fin


Saludos
#3
Cita de: Darioxhcx en 20 Noviembre 2008, 16:17 PM
%cd%\%%x ????
no va a funcionar XD
Antes de postearlo lo he probado y si que me funciona, si lo dices por %CD% esto es una variable de entorno que indica la ruta en la que te encuentras, es como el comando pwd en linux.

Cita de: Leo Gtz. en 20 Noviembre 2008, 16:52 PM
Cita de: Baphonet en 20 Noviembre 2008, 13:44 PM
Has borrado primero los archivos de la carpeta, el rd solo borra directorios vacios.
Yo lo he puesto asi y me funciona
for /D %%x in (*.*) do (
cd "%CD%\%%x\configuracion local"
del /Q *.*
cd..
rd "%CD%\%%x\configuracion local"
)


Saludos

La carpeta lleva acento :
Configuración Local
A mi me ha funcionado pero es verdad que en mi caso la carpeta no tenia acento, por ello si es el caso del acento habria que modificarlo como ha posteado Darioxhcx , tal como pones tu mismo en otro post.

Solo queria postear otra forma de hacerlo, por si no es por el acento que le da error.

Saludos
#4
Has borrado primero los archivos de la carpeta, el rd solo borra directorios vacios.
Yo lo he puesto asi y me funciona
for /D %%x in (*.*) do (
cd "%CD%\%%x\configuracion local"
del /Q *.*
cd..
rd "%CD%\%%x\configuracion local"
)


Saludos
#5
Ejercicios / Re: ayuda programa 1 error
20 Noviembre 2008, 13:40 PM
Lo he probado y cuando no inicializo los valores de la funcion captura todo funciona bien, me explico ponlo asi:
void captura (int n, int a, int e, int i, int o, int u, int k, int cv, char ASD[100])
Tambien he modificado la funcion inicio, la cual devuelve el numero de caracteres a introducir para poder despues pasarlo a la funcion captura, sino dentro de captura n valdra 0.
int inicio (int n)
{
   printf ("Escribe el numero de caracteres a ingresar  ");
   scanf ("%d", &n);
   return n;
}

Y en el main
int main (void)
{
   N=inicio (N);
   captura (N, A, E, I, O, U, K, CV, dif);
   imprimir (car, may, N);
}

Espero que te sirva
Saludos
#6
El problema que tienes con el bat del color es que, segun tengo entendido, es que cuando cambias el color lo cambias a todo lo que haya dentro de la consola por eso tus "holas" tendran siempre el color del ultimo numero que introduzcas.

Para poder ver uno de cada color podrias ponerlo asi:
@echo off
cls
for /L %%c in (0, 1, 6) do (
color %%c
echo hola%%c
pause > nul
cls
)


Saludos
#7
Prueba ha hacer un pequeño bat con esto a ver si es lo que buscas
for /D %%x in (*.*) do rd "%%x\configuracion local"

Saludos
#8
Muchas gracias, esta vez me has despejado la cabeza de un guantazo. Ya podia hacer pruebas  :-[, ya...

No tenia ni idea que el programa debia estar preparado para poder utilizarse como servicio (cosa que ni se me paso por la cabeza pero que es de logica), yo creia como dices tu que los exe tratados con los comandos sc se transformaban magicamente en servicios ejecutables.
Todo fue por que leyendo sobre troyanos me aparecio la forma que se ejecutaran como servicio, pero supongo que estos ya estarian "tratados" para poder ponerse como servicio.

Lastima que la pagina que me has puesto este en ingles, ya que no lo domino. Pero con mi amigo babylon o algun otro traductor me pondre a leer y a ver que saco.

Gracias de nuevo ya que este hilo ya hace tiempo que nadie me decia nada, y ya lo daba por perdido y teniendo las mismas dudas y tu no solo has despejado mis dudas sino que me has dado varias opciones en dos contestaciones.

Saludos
#9
Gracias, por el consejo lo voy a probar.
Pero a mi me interesaba mas como hacerlo con los comandos del shell de windows, ya que estoy aprendiendo a utilizarlo.

Al final el posible fallo fue poner como servicio un bat, cuando coloco un exe me sigue dando error pero el programa logra ejecutarse.

Seguire indagando y probando 
Saludos
#10
Scripting / Re: Ayuda con .bat y generar autorun.
29 Octubre 2008, 09:28 AM
No soy ningun especialista en el tema y no lo he probado muchas veces y menos en un pendrive, pero los autorun que he echo para que se lanzara automaticamente ponia: open=by_nap.bat

En cuanto a que no se sobreescriba la informacion si la quieres en el mismo archivo simplemente lo pones asi: ipconfig /all >>z:\respaldo.txt
con ">>" se añade al final de la informacion ya guardada con anterioridad.

No se si es lo que buscabas, pero aqui te lo dejo
Saludos