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)


+  Foro de elhacker.net
|-+  Informática
| |-+  Tutoriales - Documentación (Moderadores: r32, ehn@)
| | |-+  TUTORIAL PROGRAMACION BAT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 41 Ir Abajo Respuesta Imprimir
Autor Tema: TUTORIAL PROGRAMACION BAT  (Leído 672,897 veces)
pebre
Visitante


Email
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #60 en: 10 Diciembre 2004, 05:55 am »

Hola! Tengo un bat que hace backup de una base de datos oracle, esto genera un archivo (*.dmp), mi pregunta es:
como puedo hacer para que se adicione por ejemplo la fecha al nombre del archivo cada vez que se ejecute el .bat ?

ej.  nombrearchivo041204.dmp   ;)

Soy nuevo en programacion bat.
Gracias.


En línea

OutShell

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #61 en: 14 Diciembre 2004, 22:41 pm »

Hola a todos. Soy nuevo por aquí y veo que hay un gran nivel, a ver si me puedo pasar más a menudo. Bueno, y a lo que iba, a ver si me podeis solucionar una duda. Me gustaría hacer un script batch que cree de forma automática un directorio que por nombre tenga la fecha del día en que ejecutamos el archivo .bat, pero no encuentro la forma de hacerlo, seguro que alguno se le ocurre algo. Muchas gracias.

Un saludo.


En línea

ceo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #62 en: 21 Diciembre 2004, 04:15 am »

 :)
Hola a todos.
Necesito ayuda con lo siguiente: quiero hacer un bat que cree una carpeta cuyo nombre sea la fecha y hora del sistema operativo.  Alguien tiene idea de como se hace?.  Gracias por sus comentarios.
En línea

FiReBlAdE2

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #63 en: 24 Diciembre 2004, 02:52 am »

solo funciona para w2k/xp...pq utiliza las extensiones de los comandos de consola y de las variables de entorno; espero que te sirva...

@echo off
cmd /v:on
date /t > .\mio.txt
time /t >> .\mio.txt

for /f  "usebackq tokens=1,2"  %%i in (`type .\mio.txt`) do set mifecha=%%i %%j !mifecha!

mkdir %mifecha%
En línea

OutShell

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #64 en: 24 Diciembre 2004, 04:11 am »

Bueno, pues durante el día de hoy encontré la solución a mi problema, aunque es un poco más drástica que la que acaba de publicar FiReBlAdE2, pero a cambio funciona indistintamente en windows 2k/xp y en 9x  ;).

Lo primero (solo para windows 9x) debemos crear un archivo que simule a la tecla intro, para esto hacemos lo siguiente:

copy con "nombre de archivo"

y pulsamos intro 2 veces el intro y luebo Ctrl+z y otra vez al intro, de esta forma se nos crea un archivo que ocupa 2 bytes y que nos va a servir para simular la tecla intro. Imaginemos que este archivo se va a llamar "intro.txt", luego el codigo sería este:

echo off
cls
set %1
set dia=00
set mes=00
set año=00
if %OS% == Windows_NT goto winnt
goto win9x
:winnt
date /t > date.txt
goto dia
:win9x
date <intro.txt |find "actual" >date.txt
goto dia
:dia
find " 01/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=01
find " 02/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=02
find " 03/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=03
find " 04/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=04
find " 05/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=05
find " 06/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=06
find " 07/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=07
find " 08/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=08
find " 09/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=09
find " 10/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=10
find " 11/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=11
find " 12/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=12
find " 13/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=13
find " 14/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=14
find " 15/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=15
find " 16/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=16
find " 17/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=17
find " 18/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=18
find " 19/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=19
find " 20/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=20
find " 21/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=21
find " 22/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=22
find " 23/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=23
find " 24/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=24
find " 25/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=25
find " 26/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=26
find " 27/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=27
find " 28/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=28
find " 29/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=29
find " 30/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=30
find " 31/" <date.txt
if errorlevel 0 if not errorlevel 1 set dia=31
:mes
find "/01/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=01
find "/02/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=02
find "/03/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=03
find "/04/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=04
find "/05/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=05
find "/06/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=06
find "/07/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=07
find "/08/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=08
find "/09/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=09
find "/10/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=10
find "/11/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=11
find "/12/" <date.txt
if errorlevel 0 if not errorlevel 1 set mes=12
:año
find "2004" <date.txt
if errorlevel 0 if not errorlevel 1 set año=04
find "2005" <date.txt
if errorlevel 0 if not errorlevel 1 set año=05
find "2006" <date.txt
if errorlevel 0 if not errorlevel 1 set año=06
:carpeta
cls
md %1%dia%-%mes%-%año%
:end

Se podría depurar un poco más, pero para lo que yo quería sobra  ;D. La primera variable es para poder poner la ruta donde queremos que se cree la carpeta, por ejemplo imaginemos que el archivo .bat se llama fecha:

fecha c:\dias\

de esta forma se crearía una carpeta de nombre 00-00-00 en la carpeta c:\dias, con lo que a día de hoy se quedaría así:

c:\días\23-12-04\

Espero que le sirva a lguien.

Un saludo.
En línea

jhackes

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda...
« Respuesta #65 en: 2 Enero 2005, 15:23 pm »

Y BUENO EL CODIGO que LES PONGO AHORA NO ES DE UN VIRUS NI MUCHO MENOS PERO TAMBIEN ES DE UN BAT, ASI que LO PONGO Y DESPUES EXPLICO MI PROBLEMA:

Código:

@rem ServAnalizer.bat V 0.1
@echo off
@cls
@set host=127.0.0.1
@set name=Desconocido
@set existe=si

@rem especificaron un host??
 @if "%1"=="" goto shost
 @set host=%1

@rem existe el hot??
 @PING %host% | FIND "TTL=" > nul
 @if errorlevel 1 set existe=no
 @if "%existe%"=="no" goto snoexiste

@rem tomamos solo el nombre
@for /f "delims=9*" %%n in ('nslookup %host% ^| FIND ^"Nombre:  ^"') do @set name=%%n
@echo Analizando, %name%
@pause
@goto out

@rem Los mensajes de salida y error
 :shost
  @echo Ocurrio un error, ud no ha especificado el host a analizar :(
  @goto out
 :snoexiste
  @echo El host que ud especifico no existe o esta apagado.
  @goto out
 :out
 


EL PROBLEMA ESTA AKI:
Código:

@for /f "delims=9*" %%n in ('nslookup %host% ^| FIND ^"Nombre:  ^"') do @set name=%%n
@echo Analizando, %name%
 


YA que LA SALIDA AL PASAR POR EJEMPLO, LA IP 216.239.39.99 ES:
Analizando, Nombre: google.com

CUANDO DEBERIA SER:
Analizando, google.com

Y PUES NO ENTIENDO POR que NO ME FUCIONA CON LA OPCION "tokens=9*", que INDICA LO que SE PASA AL FOR, SOLO FUNCIONA CON EL "delims=9*" Y NO DEBERIA DE SER ASI, POR que "delims" INDICA LOS SEPARADORES ENTRE LOS tokens..

Gracias, de ante mano.. 

Saluditops!!! & bytes!!!
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.592

Debian rool'z


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #66 en: 12 Enero 2005, 08:16 am »

Hola

Citar
Hola! Tengo un bat que hace backup de una base de datos oracle, esto genera un archivo (*.dmp), mi pregunta es:
como puedo hacer para que se adicione por ejemplo la fecha al nombre del archivo cada vez que se ejecute el .bat ?
Dispones de la variable de entorno %date% que te devuelve la fecha del sistema así que la cosa sería algo como esto:
Código:
ren *.dmp %date%*.dmp

Citar
Me gustaría hacer un script batch que cree de forma automática un directorio que por nombre tenga la fecha del día en que ejecutamos el archivo .bat
Utilizando la misma variable:
Código:
md %date%

Citar
quiero hacer un bat que cree una carpeta cuyo nombre sea la fecha y hora del sistema operativo.  Alguien tiene idea de como se hace?. 

Pues igual. Con las variables %date% y %time%
Código:
md %date%_%time%

Un saludo

En línea

Callar es asentir ¡No te dejes llevar!
pato99

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #67 en: 14 Enero 2005, 19:40 pm »

Hola estuve examinando tu codigo del programa para obtener la fecha y hora y concretamente la linea

for /f  "usebackq tokens=1,2"  %%i in (`type .\mio.txt`) do set mifecha=%%i %%j !mifecha!

Me podrías explicar para que usas  !mifecha! y como funciona, creo que sirve para que vaya actualizando el valor de la variable dentro del bucle pero no lo tengo muy claro

Muchas gracias a todos por vuestros aportes, espero colaborar en lo que pueda

Citar
En línea

Helga

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #68 en: 15 Enero 2005, 01:42 am »

Hola a todos!!, Espero me puedan ayudar con mi problema...
Estoy haciendo un script .bat, para redireccionar un puerto y poder conectar una impresora que se encuentra en red.
Estuve buscando información y encontre que se supone me debería funcionar el siguiente comando:
net use lpt1:\\nombreequipodondeestalaimpresora\nombreimpresora
estoy haciendo esto en windows server 2003, y resulta que tiene otra configuracion de puertos, entonces yo puse el comando de la siguiente manera:

net use TS007:\\nombreequipodondeestalaimpresora\nombreimpresora
pero no me funciona.
Alguien sabe cual es el error que estoy cometiendo, cuando ejecuto esto me aparece el siguiente error:
error de sistema 67: No se encuentra el nombre de red especificado.

Tengo que agregar algo más al archivo.bat o que?
Por favor, agradecería mucho su ayuda :'(
De ante mano muchas gracias
En línea

Ladicita

Desconectado Desconectado

Mensajes: 4


I LOVE THE HACKERS


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #69 en: 16 Enero 2005, 01:57 am »

Tewngo una duda...
Puedo enviar emails atraves de los BATS?
Me gustaria saber ...Gracias
En línea

LADICITA FOR EVER
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 41 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tutorial: Programación PIC
Electrónica
Fabios Arts 2 10,949 Último mensaje 4 Diciembre 2005, 22:23 pm
por Fabios Arts
Tutorial programación BAT
Scripting
soplo 4 6,022 Último mensaje 22 Julio 2006, 23:38 pm
por sirdarckcat
Video Tutorial Programacion C++ « 1 2 ... 10 11 »
Programación C/C++
Chuxxx 101 106,688 Último mensaje 2 Agosto 2013, 07:45 am
por batist07
Tutorial de programación con Qt4 - 1º,2º y 3º entrega
Programación C/C++
paju1986 1 5,512 Último mensaje 25 Diciembre 2010, 21:52 pm
por Littlehorse
Tutorial de programacion en PHP
Desarrollo Web
crazykenny 3 3,254 Último mensaje 9 Enero 2013, 00:05 am
por EFEX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines