elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
21 Marzo 2010, 01:40  


Temas destacados: Sigue las noticias más importantes de elhacker.net en Twitter! twitter


+  Foro de elhacker.net
|-+  Informática
| |-+  Tutoriales - Documentación (Moderador: yeikos)
| | |-+  TUTORIAL PROGRAMACION BAT
0 Usuarios y 2 Visitantes 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 ... 28 Ir Abajo Imprimir
Autor Tema: TUTORIAL PROGRAMACION BAT  (Leído 262083 veces)
pebre

Desconectado Desconectado

Mensajes: 0


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

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 »

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 »

 :)
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 »

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 »

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: 02 Enero 2005, 15:23 »

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.587

Debian rool'z


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

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 »

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 »

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 »

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

LADICITA FOR EVER
ed-C

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #70 en: 19 Enero 2005, 10:10 »

Hola a todos

Lo primero dar una felicitacion tanto a los moderadores del foro como a los usuarios que ayudan con este foro.

Dicho esto explico mi duda, necesito ayuda con un ejercicio para crear un fichero *.bat estuve buscando por el foro si existia una sección de programacion MSDOS, como no la encontre dude entre ponerlo en Dudas en general o Programacion general, al final decidi ponerlo aqui ya que lo vi algo mas relacionado ... o eso me indico mi inculturilla en el mundo de la creacion de ficheros *.bat Luego pense lo posteo dentro de ejercicios o no??? al final decidi que si y si mi decision fue erronea pido disculpas y que un moderador traslade el mensaje a el lugar donde mejor este. Gracias de antemano.

Aqui os dejo el enunciado del ejercicio en su totalidad:

Citar
Realizar un fichero BAT llamado SISTEMAS.BAT con el siguiente menú y que realice las opciones que se especifican.

MENU PRINCIPAL

1. Utilidades del sistema
2. Utilidades de ficheros
3. Salir al S.O

Desde este fichero se llama a otros dos ficheros *.bat llamados SISTEMA.BAT y FICHEROS.BAT
SISTEMA.BAT: este fichero sacara en pantalla el siguiente menú y realizara las operaciones que se especifican a continuación:


MENU DEL SISTEMA

A. Actualizar y visualizar la fecha del sistema
B. Visualizar las caracteristicas del sistema
C. Visualizar la hora del sistema
D. Analizar los problemas del disco duro
E. Salir al menú principal

FICHERO.BAT: este fichero sacara en pantalla el siguiente menú y realizara las siguientes operaciones:

MENU DEL FICHERO
A. Visualizar el directorio de la unidad determinada
B. Visualizar el contenido de un fichero paginado
C. Renombrar un fichero
D. Copiar un fichero
E. Borrar varios ficheros
F. Salir al menu principal

Elige la opción deseada

Gracias de antemano. Espero contestacion :D


NOTA:Encontre a posteriori esta sección del foro pero ya habia preguntado en la sección de programacion ejercicios porque hice la busqueda de temas en vez de por bat msdos por ejercicios msdos, asi que si los moderadores quereis borrar uno (lo veo logico) decicdir donde esta mejor planteada la duda, perdon por el duplicado del mensaje y gracias de antemano
En línea
jorges

Desconectado Desconectado

Mensajes: 2


Ver Perfil
TUTORIAL PROGRAMACION BAT
« Respuesta #71 en: 19 Enero 2005, 20:51 »

Saludos a todos.
Hay alguna forma de automatizar lo siguiente :

-----------------------------------
move a:\archivo C:\WINDOWS\Escritorio\Carpeta\Int\

cd C:\WINDOWS\Escritorio\Carpeta\Int\

if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.413
ren archivo archivo.414
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.414
ren archivo archivo.415
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.415
ren archivo archivo.416
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.416
ren archivo archivo.417
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.417
ren archivo archivo.418
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.418
ren archivo archivo.419
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.419
ren archivo archivo.420
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.420
ren archivo archivo.421
if exist C:\WINDOWS\Escritorio\Carpeta\Int\archivo.421
ren archivo archivo.422
etc., etc., etc.

start C:\WINDOWS\Escritorio\Carpeta\Int
-----------------
Gracias

En línea
Peritintin

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Como crear un respaldo con nombre cambiante
« Respuesta #72 en: 20 Enero 2005, 05:03 »

Hola, recien me he registrado, he mirado las dudas de los nombres cambiantes, espero que les sea de utilidad el sigueinte bat

echo off
set ndia=
set dia=
set mes=
set año=
set desal=
set hora=
set minuto=
set meridiano=
set separa=-
set datos=
set bitac=

for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (set ndia=%%a& set dia=%%b& set mes=%%c& set año=%%d)
set desal=fecha%dia%%mes%%año%

for /f "tokens=1-3 delims=: " %%x  in ('time /t') do (set hora=%%x& set minuto=%%y& set meridiano=%%z)
set desal=%desal%%separa%%hora%%minuto%%meridiano%
set datos=%desal%.dmp
set bitac=%desal%.log

exp system/system@conexionoracle GRANTS=Y ROWS=Y STATISTICS=NONE file=f:\backups\%datos% log=f:\backups\%bitac% owner=SYSSCG

IF ERRORLEVEL 0 goto compacta
goto error

:compacta
winrar A %desal% %datos% %bitac%
if errorlevel 0 goto mueve
goto error1

:mueve
move %desal%.rar e:
if errorlevel 0 goto todook

:todook
cls
echo todo bien!!!!





"El ejemplo es una orden en silencio" B.P.
En línea
Peritintin

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #73 en: 20 Enero 2005, 05:13 »

:)
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.

Puede hacerse de la siguiente forma :

echo off
set ndia=
set dia=
set mes=
set año=
set desal=
set hora=
set minuto=
set meridiano=
set separa=-
set directorio=

for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (set ndia=%%a& set dia=%%b& set mes=%%c& set año=%%d)
set directorio=fecha%dia%%mes%%año%

for /f "tokens=1-3 delims=: " %%x  in ('time /t') do (set hora=%%x& set minuto=%%y& set meridiano=%%z)

set directorio=%directorio%%separa%%hora%%minuto%%meridiano%

mkdir %directorio%
En línea
soplo
Ex-Staff

Desconectado Desconectado

Mensajes: 3.587

Debian rool'z


Ver Perfil
Re: TUTORIAL PROGRAMACION BAT
« Respuesta #74 en: 23 Enero 2005, 23:50 »

Hola
Citar
Puedo enviar emails atraves de los BATS?
Directamente no, no hay ningún comando para ello. Lo que si puedes hacer es un bat que llame a aplicaciones que si son capaces de hacerlo.
Para ello te recomiento que mires la técnica de 'fake mail' y herramientas como telnet y netcat.

Un saludo
En línea

Callar es asentir ¡No te dejes llevar!
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 28 Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

Yashira.org    Videojuegos    indetectables.net    Seguridad Informatica Colombia    Indejuegos    Internet móvil

Noticias Informatica    Seguridad Informática    ADSL    eNYe Sec    Seguridad Wireless    Underground México    Biblioteca de Seguridad

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC