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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Scripting / [BATCH][Ayuda]con script para sabe el nombre de un archivo... en: 8 Mayo 2009, 05:59 am
hola a todos, saludos!! ^^

Mi problema es el siguiente, lo que pasa es que he estado tratando de hacer un code en batch que me ayude a evitar que mi PC (y el de otros también, si es que me resulta)se infecte con el virus "Autorun.inf", tengo un code bastante bueno, que me detecta si hay pendrives conectadas al PC (Gracias Leo Gutiérrez por ese FOR xD), si las hay les quita los atributos de "Sistema" y "Oculto" a todos los archivos que sean necesarios, además me avisa si hay un archivo llamado "Autorun.inf" en la unidad detectada, y si es así, lo mueve a un carpeta que se llama "VIRUS_BORRAR", hasta ahí todo bien, solo lo ejecuto cuando conecto una usb el PC y listo, ahora el problema es que este archivo siempre viene acompañado de un ejecutable de nombre aleatorio y de extensión aleatoria como por ejemplo:

Código:
juyta.exe
ouyae.pif ó
gvaefo.cmd

Estos nombres siempre están "escritos" en el archivo Autorun.inf

En una línea como esta:

Código:
SHEll\EXPlorE\cOMmand= juyta.exe
SHEll\EXPlorE\cOMmand = ouyae.pif
SHEll\EXPlorE\cOMmand =gvaefo.cmd

El problema es que como se ve en el ejemplo nunca son iguales las líneas, el signo "=" nunca esta en el mismo lugar, aunque lo demás si como el "SHEll\EXPlorE\cOMmand", solo el signo "=" va cambiando de lugar....

Ahora lo que yo quiero hacer (y que he tratado de todas formas pero no me ha resultado), es saber el nombre del archivo que viene después del signo "=", ya sea de extensión .pif, .cmd ó .exe, para así poder mover el archivo del pendrive a una carpeta que el usuario pueda eliminar después, o simplemente que lo elimine ^^*!
 He probado con for, con findstr, pero no me resulta, además no soy muy bueno para usar el for xD!, también he mirado alguno ejemplos de otro tipo de scripts en el foro, pero no me ha resultado, es por eso que estoy haciendo el post, para ver si alguno de Uds. me puede ayudar a solucionar esto....

Espero haberme explicado lo mejor posible... si hay alguna duda por favor postear ;D!!!!!!!!!

Saludos y muchas gracias de ante mano ^^!

Aqui dejo el codigo del programa (de lo que llevo hasta el momento :))
Código:
@echo off
TITLE OWNED Autorun.inf v2.1 by Francisko ^^^^
COLOR 1E
IF EXIST %temp%\menushow.bat (DEL %temp%\menushow.bat)
CALL :Primera
CALL %temp%\menushow.bat
echo.
echo _________________________________________________
echo Buscando Memorias Usb's Conectadas al PC ........
echo _________________________________________________
for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do ( SET mem=%%x)
IF NOT DEFINED mem CALL:ERRORE
ECHO Memorias Usb' conectadas al PC ^:
echo "%mem%"
echo wscript.sleep "1500" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
echo _________________________________________________
echo.
Echo Quitando Atributos...
echo _________________________________________________
attrib -r -s -h %mem%\*.* /S /D
ECHO _________________________________________________
echo.
echo Buscando Archivo "Autorun.inf" porfavor espera....
echo wscript.sleep "1250" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs

IF EXIST "%mem%\Autorun.inf" (
Echo Existe un Archivo llamado "Autorun.inf" en "%mem%"...
echo wscript.sleep "1500" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
echo.
Echo Moviendo archivo a carpeta VIRUS_BORRAR
CD /D%mem%
MKDIR VIRUS_BORRAR
move /-Y Autorun.inf %mem%\VIRUS_BORRAR
echo wscript.sleep "1500" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
) ELSE (
GOTO :MISTAKE )

echo.
ECHO Todos los comando completados con exito!!
echo wscript.sleep "2000" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs

start "" /max explorer.exe %mem%
CALL:SALIRE

:ERRORE
echo.
echo No se encontraron Memorias Usb's Conectadas al PC....
echo wscript.sleep "2000" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
CALL:SALIRE

:MISTAKE
echo.
echo El Archivo Autorun.inf no existe en "%mem%\" ^:D!!
echo wscript.sleep "2000" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
start "" /max explorer.exe %mem%
call:SALIRE

:Primera
echo echo. >>%temp%\menushow.bat
echo echo                 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\menushow.bat
echo echo                 º                                            º >>%temp%\menushow.bat
echo echo                 º           OWNED Autorun.inf v2.1           º >>%temp%\menushow.bat
echo echo                 º                    by                      º >>%temp%\menushow.bat
echo echo                 º                 Francisko!                 º >>%temp%\menushow.bat
echo echo                 º                                            º >>%temp%\menushow.bat
echo echo                 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\menushow.bat
goto :eof

:SALIRE
echo.
echo Terminado.
echo wscript.sleep "1150" > %temp%\timer1.vbs
cscript /nologo %temp%\timer1.vbs
exit

espero que me puedan ayudar ^^, no creo que sea muy complicado, pero a mi no me funciona xDDDD


saludos =)!
32  Programación / Scripting / [BATCH] OWNED AUTORUN.inf, evitar que se ejecute en las pendrives en: 1 Abril 2009, 03:37 am
Hola!! :D!, leyendo otro post me acorde que tengo un pequeño codigo para mostrar todos los archivos ocultos y con atributos de "archivos de sistema" que estan alojados en el pendrive, y que cuando vamos a abrir el pendrive se ejecuta el tan odiado virus "Autorun.inf" (no se como se llamara en realidad, pero io le digo asi xD)... bueno menos letras eh aki el codigo =)

Código:
@echo off
TITLE OWNED - Autorun.inf v1.1
COLOR 1E
IF EXIST %temp%\menushow.bat (DEL %temp%\menushow.bat)
CALL :Primera
CALL %temp%\menushow.bat
echo.
echo _________________________________________________
echo Buscando Memorias Usb's Conectadas al PC ........
echo _________________________________________________
for /f "tokens=1" %%x in ('wmic logicaldisk get caption^, description ^| find /i "extra"') do (
IF "%%x"=="" (GOTO :ERRORE)
echo _________________________________________________
echo.
Echo Quitando Atributos...
attrib -r -s -h %%x\*.* /S /D
echo _________________________________________________

start "" /max explorer.exe %%x
)
:SALIRE
echo Terminado.
ping -n 1 0.0.0.0 >nul
exit /b 0

:Primera
echo echo. >>%temp%\menushow.bat
echo echo                 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\menushow.bat
echo echo                 º                                            º >>%temp%\menushow.bat
echo echo                 º           OWNED Autorun.inf v1.1           º >>%temp%\menushow.bat
echo echo                 º                    by                      º >>%temp%\menushow.bat
echo echo                 º                 Francisko!                 º >>%temp%\menushow.bat
echo echo                 º                                            º >>%temp%\menushow.bat
echo echo                 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\menushow.bat
goto :eof

:ERRORE
echo No se encontraron Memorias Usb's Conectadas
CALL:SALIRE

lo que hace el codigo el detectar todas las memorias usb conectadas al computador con el primer FOR (gracias a Leo Gutierres por ese for xD), y despues que las detecta les kita todos los atributos a todos los archivos en el pendrive y a todos los archivos en todas las carpetas del pendrive :)

solo lo guardan y cada vez que conecten un pendrive al pc en vez de darle a abrir hacen doble click en el batch y el batch hace todo ^^ y se evitan futuros problemas ;D!!!!!


Saludos y espero que a alguien le sirva....
33  Programación / Scripting / [Batch] Problema con Script para detectar USB. [Solucionado =)] en: 19 Febrero 2009, 17:04 pm
Hola Buenas a todos ^^*!

tengo el siguiente problema con este codigo:

Código:
@echo off
:: Detectar las memorias USB actualmente montadas, y abrir una ventana
:: con la USB detectada :
ECHO Buscando ubs conectadas... por favor espera...
for /f "skip=1" %%x in ('wmic logicaldisk get caption') do (
for /f "tokens=1" %%c in ('fsutil fsinfo drivetype %%x ^| find /i "extra"') do (
ECHO Quitando Atributos a los archivos en tu pendrive .....
attrib -r -h -s %%c\*.* /S /D >> %%c\archivos.txt
explorer /e,/root,%%c
)
)
exit /b 0
Lo que haces es detectar las usb conectada y abrir una ventana de explorer, y kitar los atributos de oculto, de solo lectura y de sistema a todos los archivos del pendrive, pero eso no es el problema, lo que pasa es que cuando me abre la ventana de explorer el "programa" queda detras de la  ventana y no se cierra hasta que cierro la venta del pendrive... tonces nose porke pasa eso, y yo no quiero que quede el programa corriendo mientras uso el pendrive....

busque este codigo para evitar que se me infecte el pc con un virus que se aloja en las pendrives e infecta los discos duros cuando uno le da doble click, me ha pasado dos veces y con esto lo ejecuto antes de abrir el pendrive para ver si el virus esta y borrarlo, porke es bastante molesto y no deja ver los archivos ocultos y no deja abrir los discos duros mediante el doble click y eso me apesta xD

les estaria muy agradecido si alguien me puede ayudar .... espero haberme explicado bien ^^


saludos y gracias de ante mano :)

 :)


(el codigo de los FOR esta hecho por un usuario de aca que esta con un gatito en su cama :xD, no recuerdo el nombre :xD )
34  Programación / Scripting / [DUDA] For para matar procesos en: 18 Enero 2009, 03:31 am
Hola!! saludos a todos!!!


Miren tengo el siguiente problema... yo trabajo en un cybercafe, en donde tengo 20 pcs funcionado casi perfecto... ahora el problema es el casi xD!, porke por ejemplo cuando un usuario termina de usar el pc y entra otro seguido y quiere abrir msn no puede porke se "acumulan" procesos de msn .....

por ejemplo cuando me dicen que no pueden abrir msn , voy, abro el admnistrador de tareas y veo minimo 20 msnmsgr.exe abriertos, pero el msn no se ve... la cosa es como puedo hacer para terminar esos procesos con un batch?, que lo ejecute y termine los procesos?...

yo se que se puede hacer con el comando taskkill , pero es que yo quiero que sea con un for , porke si por ejemplo copio el comando 10 veces en el batch y el proceso esta 15? tendria que ejecutarlo muchas veces, por eso creo que con un FOR se puede hacer, pero nunca entendi como usar el FOR D:!


si alguien me puede ayudar se lo agradeceria mucho!!!!!!




GRacias de ante mano ^^*!
35  Programación / Scripting / [BATCH]Copiar carpetas en batch :D en: 21 Octubre 2008, 01:52 am
Hola!  Saludos y espero que me puedan ayudar en mi problema
Lo que pasa es que estoy haciendo un pequeño programa  con batch para hacer respaldos de carpetas automáticamente, donde el usuario (si es la primera vez que lo usa ) ingresa la ruta de la carpeta que quiere respaldar, la ruta de la carpeta donde quiere  guardar el respaldo y el nombre con que se renombrara la carpeta respaldada, esto es solo una vez y la próxima vez que  el programa carga las rutas automáticamente, se muestra un menú principal con varias opciones…  y una de ellas obviamente es comenzar el respaldo.(el código no lo tengo ahora porke no estoy en mi casa, pero apenas pueda lo posteo para todos lo puedan usar ;D!) ya voy bastante avanzado, de hecho ahora solo estoy en la parte de añadir “efectos” al programa y es en uno de esos efectos que me he quedado pegado… cuando el usuario da a la opción respaldar  el programa muestra una pantalla que dice algo como “Respaldando archivos por favor espere” (con enmarcado y eso xD)… en esta parte uso el comando xcopy de esta manera
Código:
Xcopy %rutaentrada% %rutasalida%/CARPETATEMP  /S >%temp%/respaldo.txt
Donde la variable %rutaentrada% contendria la ruta de la carpeta a respaldar, %rutasalida% que contendria la ruta donde copiar el respaldo
Y en el archivo respaldo.txt va guardando los archivos que se copian:
Por ejemplo
Código:
C:/juegoxd/system.dll
Por dar el ejemplo de un archivo, obviamente son muchos mas…
Esto lo hago para que no se vean las rutas completas, por que a mi gusto no se ve bien xD o es molesto xD
Ahora lo que quiero hacer yo es que en vez de mostrar
Código:
 “Copiando C:/juegoxd/system.dll”
Muestre algo como
Código:
Respaldando Archivo : System.dll
Que muestre solo el archivo y no la ruta completa y el archivo que se esta copiando, Y que cada vez que copie otro archivo diga lo mismo ó sea seria como:
Código:
Respaldando Archivo : System.dll
Respaldando Archivo : Alaaudio.dll
Pero no se como hacerlo, había pensado en usar un for pero no entiendo mucho el FOR xD!
Es por esa razón que posteo para saber si alguno de uds me puede ayudar o dar una idea de cómo se puede hacer….
Espero haberme explicado bien y gracias de ante mano.-
PD: el codigo lo voy a postear apenas pueda y en este mismo hilo :D! porque no tengo internet e mi casa u.u xD! (lo digo por el tiempo en que me pueda demorar en responder.)

Saludos y gracias de ante mano por al ayuda


Como lo prometido es deuda eh aca el code del miniprograma
Código:
@echo off
IF EXIST %temp%\creditos.bat (DEL %temp%\creditos.bat)
:Primera
echo echo. >>%temp%\creditos.bat
echo echo                 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» >>%temp%\creditos.bat
echo echo                 º                                            º >>%temp%\creditos.bat
echo echo                 º        Respaldar Carpetas v5.5             º >>%temp%\creditos.bat
echo echo                 º                    by                      º >>%temp%\creditos.bat
echo echo                 º                 Francisko!                 º >>%temp%\creditos.bat
echo echo                 º                                            º >>%temp%\creditos.bat
echo echo                 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ >>%temp%\creditos.bat
echo echo. >>%temp%\creditos.bat
echo echo. >>%temp%\creditos.bat

TITLE Cargando....
SET weno=ping -n 2 0.0.0.0
SET fecha=%date%
SET fechados=%date:/=-%
CLS
COLOR A
CALL:LOADER
echo Comprobando Archivo de Rutas...
%weno% >nul
IF NOT EXIST %temp%\rutascarptemp.txt (echo EL ARCHIVO NO EXISTE &pause&GOTO:CrearRutas) ELSE (echo Archivo OK)
%weno% >nul
:OTRAXD
IF NOT EXIST %temp%\respuesta.txt (CALL:MENUPRIN) ELSE (GOTO:MAAAAS)
:MAAAAS
ren %temp%\respuesta.txt *.bat
call %temp%\respuesta.bat
ren %temp%\respuesta.bat *.txt
IF %masvar%=="1" (GOTO:SEGUIR) ELSE (GOTO:MENUPRIN)
:principal
CLS
title Respaldar Carpetas v5.5 - Menu Principal Bienvenido: *-=+[%USERNAME%]+=-*
COLOR A
:MENUPRIN
title Respaldar Carpetas v5.5 - Menu Principal Bienvenido: *-=+[%USERNAME%]+=-*
COLOR A
CLS
call %temp%\creditos.bat
TITLE Menu Principal

echo [1].- Respaldar.
echo [2].- Cambiar Rutas.
echo [3].- Ver la Ayuda.
echo [4].- Ver Archivo de Rutas.
echo [5].- Automatizar el copiado.
echo.
echo NOTA : Ten en cuenta que se pueden generar dos carpetas, una con el nuevo
echo respaldo y una con el antiguo, asi que no respaldes carpetas o archivos demasiado grandes.
echo.
SET respuest=
SET /P respuest="Opcion: "
IF "%respuest%"=="" call :NADA
IF "%respuest%"=="1" call :CargarRutas
IF "%respuest%"=="2" call :CambiarRutas
IF "%respuest%"=="3" call:Ayuda
IF "%respuest%"=="4" call :VEAME
IF "%respuest%"=="5" (GOTO:PREGU) ELSE (GOTO principal)

IF EXIST %temp%\rutascarptemp.txt (GOTO CargarRutas) ELSE (GOTO CrearRutas)
:CrearRutas
COLOR A
CLS
call %temp%\creditos.bat
echo.
echo El Archivo donde se guardaran las Rutas de Respaldo no Existe,
echo O ah sido borrado...
echo.
echo Asi que debemos crear uno ^^^^
echo.
echo NO uses comillas para escribir los datos o el programa dara error
echo.
SET /P rutaentrada="Pega o Escribe la ruta de la carpeta que quieres respaldar: "
IF "%rutaentrada%"=="" GOTO error1
SET /P rutasalida="Pega o Escribe la ruta donde se guardara el respaldo: "
IF "%rutasalida%"=="" GOTO error1
IF "%rutaentrada%"=="%rutasalida%" GOTO FATALERROR
SET /P nomcarpsalida="Escribe el nombre que se le dara a la carpeta de respaldo: "
IF "%nomcarpsalida%"=="" GOTO error1
SET nomcarpsalida=%nomcarpsalida: =_%
echo.
echo @set rutaentrada="%rutaentrada%">> %temp%\rutascarptemp.txt
echo @set rutasalida="%rutasalida%">> %temp%\rutascarptemp.txt
echo @set nomcarpsalida="%nomcarpsalida%">> %temp%\rutascarptemp.txt
GOTO Principal
:SEGUIR
:CargarRutas
COLOR A
TITLE Cargando Rutas...
CLS
IF NOT EXIST %temp%\rutascarptemp.txt (GOTO CrearRutas)
cls
call %temp%\creditos.bat
echo Cargando Rutas porfavor espera...
echo.
%weno% >nul
cls
call %temp%\creditos.bat
echo Cargando Rutas porfavor espera...
echo.
echo °°°°°°°°°°°°
REN %temp%\rutascarptemp.txt *.bat
%weno% >nul
cls
call %temp%\creditos.bat
echo Cargando Rutas porfavor espera...
echo.
echo °°°°°°°°°°°°°°°°°°°°
call %temp%\rutascarptemp.bat
%weno% >nul
cls
call %temp%\creditos.bat
echo Cargando Rutas porfavor espera...
echo.
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°° Listo!
ren %temp%\rutascarptemp.bat *.txt
%weno% >nul
IF NOT EXIST %rutaentrada% (GOTO NOEXISTE)
call:Respaldar

:Respaldar
TITLE Respaldando ...
cls
IF NOT EXIST %rutasalida% MD %RUTASALIDA%
CD /D%rutasalida%
IF Exist CARPETATEMP_OLD (RD /S /Q CARPETATEMP_OLD)
IF EXIST CARPETATEMP (REN CARPETATEMP CARPETATEMP_OLD)

MD CARPETATEMP

echo.
echo.
echo                 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo                 º                                            º
echo                 º             Copiando Archivos              º
echo                 º             Porfavor Espera..              º
echo                 º                                            º
echo                 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.

xcopy %rutaentrada% %rutasalida%\CARPETATEMP /E > %temp%\respaldo.txt
GOTO:GETTOGETHER
:GETTOGETHER
TITLE LISTO!!! ^^^^
DEL %temp%\respaldo.txt
CD /D%rutasalida%
%weno% >nul
IF EXIST %nomcarpsalida% (ren %nomcarpsalida% %nomcarpsalida%_OLD)
IF EXIST %nomcarpsalida%_OLD (RD /S /Q %nomcarpsalida%_OLD)
%weno% >nul
echo Renombrando a %nomcarpsalida%...
%weno% >nul
ren CARPETATEMP %nomcarpsalida%
IF %ERRORLEVEL%==0 (GOTO:LISTOKO) ELSE (echo Ocurrio un fallo al renombrar la carpeta&pause&exit)
echo.
REM SET /P question="Deseas Renombrar tu carpeta %nomcarpsalida% a %nomcarpsalida%_%fechados%? [S/N]: "
REM IF "%question%"=="" (ECHO No has escrito nada, no se renombrara la carpeta a la fecha actual&GOTO:LISTOKO)
REM IF "%question%"=="S" GOTO SEDOS
REM IF "%question%"=="s" GOTO SEDOS
REM IF "%question%"=="N" GOTO NODOS
REM IF "%question%"=="n" GOTO NODOS

REM :SEDOS
REM IF EXIST %nomcarpsalida%_%fechados% (RD /S /Q %nomcarpsalida%_%fechados%)
REM ren %nomcarpsalida% %nomcarpsalida%_%fechados%
REM IF %ERRORLEVEL%==0 (GOTO:LISTOKO) ELSE (echo ocurrio un fallo al renombrar la carpeta&pause&exit)
REM GOTO:LISTOKO
REM :NODOS
REM GOTO:LISTOKO
:LISTOKO
ECHO Carpeta Respaldada Con Exito ^^^^, presiona un tecla para salir...
IF EXIST %temp%\creditos.bat (DEL %temp%\creditos.bat)
pause>nul
exit


:error1
echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs
start %temp%\nada.vbs
%weno% >nul
del %temp%\nada.vbs >nul
cls
CALL:CrearRutas

:CambiarRutas
echo.
ECHO Ahora borraras el archivo donde se guardan las rutas de copiado...
echo Presiona un tecla para continuar, si no quieres hacerlo cierra el programa...
pause >nul
DEL %temp%\rutascarptemp.txt
GOTO CrearRutas

:Ayuda
cls
mode con cols=85
mode con lines=38
TITLE AYUDA xD!
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍ»
echo º Opcion 1:º
echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Empieza el proceso de respaldo de tu carpeta, siempre y cuando                  º
echo º hayas creado el archivo con las rutas de respaldo, si no has creado el archivo  º
echo º con las rutas de respaldo el programa te pedira crearlo automaticamente.        º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍ»
echo º Opcion 2:º
echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Borras el archivo donde se guardan las rutas de copiado y          º
echo º Pasas crear el archivo de nuevo, con las nuevas rutas de respaldo. º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍ»
echo º Opcion 3:º
echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍ»
echo º Ves la ayuda xD! :B! º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍ»
echo º Opcion 4:º
echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º El programa te muestra un archivo con las rutas que has configurado previamente.  º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍ»
echo º Opcion 5:º
echo ºÍÍÍÍÍÍÍÍÍÍÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Con esta opcion haces que el programa automaticamente comienzea a respaldar   º
echo º tu carpeta cada vez que lo ejecutes. (Ya no podras acceder el menu principal) º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo Presiona una tecla para volver al menu principal...
pause>nul
cls
GOTO principal

:FATALERROR
cls
CALL %temp%\creditos.bat
echo.
ECHO %USERNAME%: LA RUTA DE ENTRADA CON LA RUTA DE DESTINO SON LAS MISMAS!!!!
ECHO %USERNAME%: DEBES CAMBIAR UNA DE LAS RUTAS...
echo.
echo Presiona una tecla para volver a empezar!
pause>nul
cls
IF EXIST %temp%\rutascarptemp.txt (DEL %temp%\rutascarptemp.txt)
GOTO CrearRutas

:NADA
echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs
start %temp%\nada.vbs
%weno% >nul
del %temp%\nada.vbs >nul
cls
call:principal

:ERRONEO
echo msgbox "%USERNAME% La opcion que has escrito no es valida", 64, "Informacion" > %temp%\erroneo.vbs
start %temp%\erroneo.vbs
%weno% >nul
del %temp%\erroneo.vbs
CLS
CALL:principal

:NOEXISTE
echo.
echo Un error ha ocurrido %USERNAME%:
echo La Carpeta de entrada ya no existe... o ha sido renombrada.....
echo.
SET opcnoe=x
SET /P opcnoe="Deseas Borrar El Archivo de Rutas? [S/N]: "
IF "%opcnoe%"=="" GOTO NADADOS
IF "%opcnoe%"=="S" GOTO SE
IF "%opcnoe%"=="s" GOTO SE
IF "%opcnoe%"=="N" GOTO NO
IF "%opcnoe%"=="n" GOTO NO

:NADADOS
echo msgbox "No has escrito nada %USERNAME%", 64, "Mensaje de Error"> %temp%\nada.vbs
start %temp%\nada.vbs
%weno% >nul
del %temp%\nada.vbs >nul
cls
GOTO NOEXISTE

:SE
ECHO %USERNAME% El Archivo antiguo sera borrado y pasaras a crear uno nuevo
echo con las nuevas rutas de respaldo....
echo.
echo Presiona una tecla para continuar....
pause >nul
CALL:CambiarRutas

:NO
CLs
GOTO principal

:VEAME
IF EXIST %temp%\rutascarptemp.bat (DEL %temp%\rutascarptemp.bat)
IF EXIST %temp%\Archivo_de_Rutas.txt (DEL %temp%\Archivo_de_Rutas.txt)
REN %temp%\rutascarptemp.txt *.bat
CALL %temp%\rutascarptemp.bat
REN %temp%\rutascarptemp.bat *.txt
echo Espere mientras se genera el archivo
%weno% > nul
%weno% > nul
echo Estas son las rutas de Respaldo que has configurado... > %temp%\Archivo_de_Rutas.txt
echo -------------------------------------------------------- >> %temp%\Archivo_de_Rutas.txt
echo. >>%temp%\Archivo_de_Rutas.txt
echo Carpeta a Respaldar = %rutaentrada% >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo Carpeta donde se guardara el respaldo = %rutasalida% >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo Nombre con que sera nombrada la carpeta de Respaldo = %nomcarpsalida% >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo ________________________________________________________ >> %temp%\Archivo_de_Rutas.txt
echo. >> %temp%\Archivo_de_Rutas.txt
echo Respaldar Carpetas by Francisko.O! >> %temp%\Archivo_de_Rutas.txt

start %temp%\Archivo_de_Rutas.txt
echo Archivo Generado con Exito... Presiona un tecla para volver al menu principal...
pause > nul
DEL %temp%\Archivo_de_Rutas.txt >nul
GOTO Principal


:LOADER
echo.
echo                 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo                 º                                            º
echo                 º                                            º
echo                 º                                            º
echo                 º                  CARGANDO                  º
echo                 º                                            º
echo                 º                                            º
echo                 º                                            º
echo                 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
GOTO:eof

:ESPERA
ping -n 2 0.0.0.0 >nul
GOTO:eof

:PREGU
CLS
COLOR A
TITLe Automatizar
echo.
echo Con esta opcion el programa comenzara a respaldar tu carpeta
echo autmaticamente cada vez que lo ejecutes.
echo.
echo Ten en cuenta que si eliges si, no podras cambiar las rutas de copiado.
echo En caso de que quieras hacerlo, Debes hacer lo siguiente:
echo Debes ir a "INICIO" -^> "Ejecutar"
echo y escribir "%%temp%%" (sin las comillas) y borrar el archivo respuesta.txt.
echo.
echo Si eliges NO el programa mostrara un menu principal cada vez que lo ejecutes.
echo.
SET /P var="[S/N]: "
IF "%var%"=="S" (GOTO SERES)
IF "%var%"=="s" (GOTO SERES)
IF "%var%"=="N" (GOTO NORES)
IF "%var%"=="n" (GOTO NORES)
:SERES
echo @SET masvar="1">%temp%\respuesta.txt
GOTO:SEGUIR
:NORES
echo @SET masvar="2">%temp%\respuesta.txt
GOTO:MENUPRIN

Saludos :D!
36  Programación / Scripting / Ayuda con funcion de libreria de funciones u.u en: 9 Septiembre 2008, 04:15 am
Hola! yo de nuevo  :-X!!
Espero estén todos bien ^^, tengo un programa con el que puedo ingresar datos y me crea un archivo .SQL el que después lo mueve a una carpeta en C: llamada SQLUPDATES, todo bien hasta ahí, pero quiero hacer que el programa me renombre el archivo al NOMBRE que le doy yo en el programa + LA FECHA DEL DIA DE CREACION, osea NOMBRE+FECHA.sql, pero no lo puedo hacer, miren asi esta hecho el programa:
Código
  1. @echo off
  2. title Creador de Sql de skills para Npc's
  3.  
  4. :inicio
  5. color 80
  6. cls
  7. echo Escribe mover para mover tus arhivos.
  8. echo Escribe menu para ir al menu principal.
  9. echo Datos Escritos Anteriormente:
  10.  
  11. echo [%npcid%] - [%skillid%] - [%skilllvl%]
  12. set /p npcid="ID del NPC: "
  13. if %npcid%==mover call:moverarch
  14. if %npcid%==menu call %temp%\RarSFX0\sexyexec\mpdos.bat
  15. set /p skillid="ID de la skill: "
  16. set /p skilllvl="Nivel de la skill: "
  17. set /p nombre="Nombre del archivo script: "
  18. :getscript
  19.  
  20. echo INSERT INTO custom_npcskills values >>%nombre%.sql
  21. echo (%npcid%, %skillid%, %skilllvl%); >>%nombre%.sql
  22. echo %nombre%.sql ha sido creado con exito....
  23. echo Presiona una tecla para volver a empezar
  24. pause>nul
  25. goto inicio
  26.  
  27. :moverarch
  28.  
  29. set fechaYhora=%~t1
  30. set fecha=%fechaYhora:~0,10%
  31. set fecha=%fecha:/=-%
  32. ren %nombre%.sql %nombre%+%fecha%%~x1.sql
  33.  
  34. cd C:\
  35. if not exist SQLupdates (MKDIR SQLupdates)
  36. cd %temp%\RarSFX0
  37. move /-Y *.sql C:\SQLupdates
  38. cd C:\
  39. start SQLupdates
  40. cd %temp%\RarSFX0
  41. goto inicio
  42.  
Le agrege la función renombrar un archivo a su fecha de creación del post librería de funciones, pero aun asi nose porke no me funciona, si alguien me puede ayudar se lo agradecería mucho ^^

De ante mano muchas gracias ;D!


y saludos a todos ;D!
37  Programación / Scripting / Usuario y Contraseña en BATCH ;D! en: 9 Septiembre 2008, 04:04 am
Hola!, este es mi primer post en este foro, y espero que no sea el ultimo ^^

Me gusta mucho la programación en bath y tomando algunos ejemplos y después de mucho tiempo por fin logre codear un sistema de login y usuario ;D!, o sea un sistema donde se crea un usuario y una contraseña y cada vez que se necesite entrar al sistema pide los datos ingresados con anterioridad, el BATH trabaja con la carpeta %TEMP% de Windows para que no se vean los archivos donde se guarda el usuario y su password ^^.
Bueno, el primer bath es el de LOGIN, donde creamos un usuario, lo guarda en un archivo llamado login.txt y lo guarda en %temp%\lyc\login.txt con atributo de OCULTO.
Donde dice TURUTA es donde debes colocar la ruta para llamar a tu programa xD!
Código
  1. @echo off
  2. title Login Creator
  3. if not exist %temp%\lyc (MKDIR %temp%\lyc)
  4. cls
  5. echo No has creado un Usuario.....
  6. set /p usuario="Escribe tu nuevo usuario: "
  7. echo if %%login%%==%usuario% (goto bien) else goto noesS>>login.txt
  8. echo :bien>>login.txt
  9. echo echo.>>login.txt
  10. echo echo USUARIO CORRECTO>>login.txt
  11. echo echo.>>login.txt
  12. echo pause>>login.txt
  13. echo ren %%temp%%\lyc\login.bat login.txt>>login.txt
  14. echo call TUPROGRAMA.bat>>login.txt
  15. echo goto menu>>login.txt
  16. echo :noesS>>login.txt
  17. echo color 47>>login.txt
  18. echo echo Lo siento pero el usuario no corresponde...>>login.txt
  19. echo echo.>>login.txt
  20. echo echo Presiona un tecla para ingresar el usuario de nuevo...>>login.txt
  21. echo pause^>nul>>login.txt
  22. echo call TURUTA\comparador.bat>>login.txt
  23. move TURUTA\login.txt %temp%\lyc\
  24. attrib +H %temp%\lyc\login.txt
  25. attrib +H %temp%\lyc
  26. echo Listo!! Usuario Guardado...
  27. echo Presiona una letra para ir al menu principal...
  28. pause>nul
  29. call TUPROGRAMA.bat
  30. echo Presiona una letra para ir al menu principal...
  31. pause>nul
  32. call TUPROGRAMA.bat
  33.  
Aquí esta el BATH que guarda la contraseña:

 
Código
  1. @echo off
  2. title Password Creator.
  3. if not exist %temp%\lyc (MKDIR %temp%\lyc)
  4. cls
  5. :clave
  6. echo No has creado una contraseña.....
  7. set /p password="Escribe tu nueva contraseña: "
  8. echo if %%clave%%==%password% (goto bien) else goto noes>>clave.txt
  9. echo :bien>>clave.txt
  10. echo echo.>>clave.txt
  11. echo echo CONTRASEÑA CORRECTA.>>clave.txt
  12. echo echo.>>clave.txt
  13. echo echo Presiona una tecla para ir al menu principal...>>clave.txt
  14. echo pause^>nul>>clave.txt
  15. echo ren %%temp%%\lyc\clave.bat clave.txt>>clave.txt
  16. echo call TURUTA\TUPROGRAMA.bat>>clave.txt
  17. echo goto menu>>clave.txt
  18. echo :noes>>clave.txt
  19. echo color 47>>clave.txt
  20. echo echo Lo siento pero la clave no corresponde...>>clave.txt
  21. echo echo.>>clave.txt
  22. echo echo Presiona un tecla para ingresar la clave de nuevo...>>clave.txt
  23. echo pause^>nul>>clave.txt
  24. echo call TURUTA\comparador.bat>>clave.txt
  25. move TURUTA\clave.txt %temp%\lyc\
  26. attrib +H %temp%\lyc\clave.txt
  27. attrib +H %temp%\lyc
  28. echo Listo!! Tu contraseña esta lista y guardada..
  29. echo Presiona una letra para ir al menu principal...
  30. pause>nul
  31. call TUPROGRAMA.bat
  32.  

Este code hace lo mismo que el de usuario pero lo guarda en un archivo clave.txt.
Ahora estos bat no funcionan por si solos, necesitan otro bat externo que se llama COMPARADOR.bat,
Código
  1. @echo off
  2. title Login....
  3. :again
  4. cls
  5. attrib -H %temp%\lyc
  6. attrib -H %temp%\lyc\login.txt
  7. attrib -H %temp%\lyc\clave.txt
  8. ren %temp%\lyc\*.txt *.bat
  9. cls
  10. color 07
  11. echo Hola Bienvenido....
  12. set /p login="Cuales es tu Usuario?: "
  13. call %temp%\lyc\login.bat
  14. ren %temp%\lyc\login.bat login.txt
  15. attrib +H %temp%\lyc\login.txt
  16. attrib +H %temp%\lyc
  17. cls
  18. echo Escribe tu contraseña...
  19. set /p clave="Tu Clave es?: "
  20. call %temp%\lyc\clave.bat
  21. ren %temp%\lyc\clave.bat clave.txt
  22. attrib +H %temp%\lyc\clave.txt
  23. attrib +H %temp%\lyc
  24.  
Este bath lo que hace es quitar los atributos de OCULTO a la carpeta lyc y a los archivos login.txt y clave.txt y los renombra a *.bat.
Ahora para que tu programa llame a estos BATH cada vez que entre el usuario a tu programa debes agregar las siguiente líneas al principio del menú principal de tu sistema, de la siguiente manera ^^
Código:
if exist %temp%\lyc\login.bat (ren %temp%\lyc\login.bat login.txt)
if exist %temp%\lyc\clave.bat (ren %temp%\lyc\clave.bat clave.txt)
if not exist %temp%\lyc\login.txt call TURUTA\logincreator.bat
if not exist %temp%\lyc\clave.txt call TURUTA\passwordcreator.bat
call TURUTA\comparador.bat
Y así cuando se ejecute tu programa va a renombrar login.bat a .txt y clave.bat a .txt, y si no existe %temp%\lyc\login.txt y clave.txt llama a los bat que crean el usuario y la contraseña xD!, y si existen llama al bath (comparador.bat) que se encarga de comparar  el usuario que estas ingresando con el que esta guardado en los archivos ya creados, me explico verdad xDDDD?, y si es igual, te deja pasar y pasas a la contraseña, si no son iguales te da una pantalla de error donde te dice que esta incorrecto y vuelve a principio =).
Lo e probado varias veces y funciona correctamente…. Ahora si borras la siguiente línea
“ren %%temp%%\lyc\clave.bat clave.txt” de los bath para crear el usuario y la pass, el programa no compara nada de nada y pongas lo que pongas te dejara pasar, aun no se porque pero es para que lo sepan xDDDD!, si alguien lo prueba y sabe como arreglar esto seria genial ;D!!!!

Espero les sirva =)
El que lo quiera mejorar seria genial, pero lo único que pido es que pongan las mejoras en el post para así también saber como ir mejorándolo :D!!!!!!

Saludos y es pero que les sirva ;D!
PD: disculpas por las faltas de ortografía ^^.
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines