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


Temas destacados: [BLOG] Advisory: ffmpeg puede grabar X de cualquier usuario


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez.)
| | | |-+  -> Programación BATCH Avanzada. (nuevo)
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 3 [4] 5 6 7 8 Ir Abajo Imprimir
Autor Tema: -> Programación BATCH Avanzada. (nuevo)  (Leído 83581 veces)
Kiosera

Desconectado Desconectado

Mensajes: 10


Das muy poca cosa cuando das de lo que posees


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #45 en: 17 Marzo 2008, 18:05 »

Buen día sirdarckcat y buen día para todos!!

Quería preguntar acerca de un tema:

Sucede que quiero leer línea a línea un archivo TXT.

Estoy usando lo siguiente:

FOR %%a in (c:\CB.txt) DO echo %%a

Pero lo que veo es c:\CB.txt y no el contenido (lo que hay dentro de CB.txt)   :-[

Uso el for porque lo que deseo es que recorra el archivo hasta que se acabe....
Es posible con el FOR o estoy usando una sentencia que no es?

De antemano, gracias por la respuesta



En línea
~[uNd3rc0d3]~

Desconectado Desconectado

Mensajes: 189


programando...


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #46 en: 17 Marzo 2008, 23:48 »

Cita de: C:\*.bat
@echo off
for /f "tokens=* delims= " %%a in (hola.txt) do (echo %%a)
pause > nul

Cita de: C:\hola.txt
hola como andas
bien y vos
yo bien, che a donde vas?
a tomar una virra, vamos?
dale....

Cita de: ConsoleOutput
hola como andas
bien y vos
yo bien, che a donde vas?
a tomar una virra, vamos?
dale....

see ya!
En línea


leete las reglas asi todos estamos mejor ;)
morenochico

Desconectado Desconectado

Mensajes: 77


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #47 en: 18 Marzo 2008, 18:26 »

¿Se puede poner varias instrucciones ftp en UNA sola linea desde el promtp de msdos?

Necesito hacer varios movimientos en varias pc's remotas, (borrar archivos, crear directorios etc). Esto no es problema ya que tengo un archivo .exe que hace eso (todas las pc's tienen una configuracion similar). Lo que quiero saber es si se puede poner una instruccion larga dentro del run de windows, esto es: inicio ---> run. 

Lo que quiero es: abrir cmd.exe, ir a un directorio (desktop), conectarme a un servidor ftp y descargar mi archivo .exe que es el que hace todo el movimiento que ocupo. Quiero hacerlo todo desde el run de windows o en su defecto abrir una terminal CMD y poner una instruccion larga (cd desktop, ftp ... etc...). He intentado pero hasta el momento no he podido. Ya se que para conectarse a un servidor ftp se puede crear un archivo con instrucciones que se manda llamar con ftp desde el prompt. Pero no me sirve ya que el archvo .exe que ocupo seria mas chico que el que archivo con instrucciones ftp y en la practica se haria mas trabajo.

Las razones por las que quiero hacerlo asi son tres, la comunicacion es muuuy lenta   >:( , yo no lo haria lo haria una persona que no tiene muchos conocimientos en pc's    :P y son demasiadas pc's  :-[.  Busco poner la instruccion solo una vez y que solito se haga todo el trabajo.    ;)
En línea
BasFKlitzZ

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #48 en: 22 Marzo 2008, 08:10 »

Holas a todos!... Miren, tengo una simple duda con un *.bat:
¿Se puede poner una llamada (:llamada) en el mismo .bat del archivo que lo llama...? Porque intento, y lo reviso, pero no encuentro error. Lo que pasa es que reinicia la aplicación, o sea, vuelve a empezar desde el principio, y no reconoce la llamada  :-\
El código que tengo es algo así:

Nombre del archivo: "Prueba.bat"
------------------------------------------------------------------------------------------------
Código:

@echo off
color A
set /P caracter=Escriba algun caracter, y presione enter:
IF %caracter% neq i (
cls
echo Los caracteres que usted ha escrito, son incorrectos...
echo Presione una tecla para continuar...
pause >nul
) ELSE (
cls
echo Muy Bien!!! Has acertado!!!
echo Adios
pause >nul
exit)
Prueba.bat ventana

@echo off&call:%*&goto:EOF

:ventana
start
color A
echo Tendrás 7 años de mala suerte por no haber acertado...
pause >nul
exit
goto:EOF
------------------------------------------------------------------------------------------------

Espero que me puedan ayudar, y se que mi error debe ser algo insignificante...  :¬¬  tal vez sea por el "@echo off&call:%*&goto:EOF"... tal vez tenga algo mal escrito, o me falte algo... nose, pero si los pongo en .bats diferentes, funciona  :-\
Desde ya, muchas gracias  :)
En línea
renegomez

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #49 en: 28 Abril 2008, 19:55 »

Buen dia, hola a todos, necesito su ayuda, tengo un software que quiero que solo se pueda instalar una una maquina determinada y que solo permita hacer 3 instalciones y que luego lo bore, el softwre se encuentra un penddrier(USB), si alguien puede decirme como hacer una bat, mil gracias
En línea
xfz4

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #50 en: 29 Abril 2008, 01:18 »

Buen dia, hola a todos, necesito su ayuda, tengo un software que quiero que solo se pueda instalar una una maquina determinada y que solo permita hacer 3 instalciones y que luego lo bore, el softwre se encuentra un penddrier(USB), si alguien puede decirme como hacer una bat, mil gracias

Código:
@ECHO OFF
CLS
:FIND
IF %USERNAME%==MAKINA DETERMINADA (GOTO NEXT) ELSE GOTO FIND
:NEXT
set /a IDENTIFICADOR=%IDENTIFICADOR%+1
if exist c:\3.GARBAGE (goto SALTE) else goto crear
:CREAR
echo item-%USERNAME%>c:\%identificador%.GARBAGE
:SALTE
DEL %0
:: SI QUIERES BORRAR LO INSTALADO LO BORRAS AKI  <---
:: O TAMIEN PODES METER EL IDENTIFICADOR EN EL PENDRIVE
:: ESTO TE DA UNA IDEA ??


saludos  ;D

PD: pasense por ka:
http://foro.elhacker.net/index.php/topic,163184.0.html
y aka:
http://foro.elhacker.net/index.php/topic,209121.0.html
y respondanme  >:( >:( >:( >:(   :rolleyes:   :¬¬  :P ;D
En línea
elnenamelenas

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #51 en: 16 Mayo 2008, 01:15 »

POr favor necesito ayuda urgentemente, soy nuevo en esto y necesito crear un programita que me cambie automaticamente el path del windows donde se ejecute por el que yo le diga.

Alguien puede ayudarme? se lo agradeceré aternamente

Lo que llevo hecho hasta ahora sin lograr nada es:

path>pathanterior.Txt
If %pathanterior.txt% EQU %pathcorrecto% (echo OK)
Else %pathanterior.txt% EQU %pathcorrecto% (echo ko)
Pause
En línea
m1st1c0

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #52 en: 22 Mayo 2008, 17:36 »

Hola a Todos!:

Tengo un equipo que genera automaticamente archivos (AVI) y los almacena en una carpeta; tengo un bat que elimina los más viejos a 6 dias.

Quiero sacarle un backup, pero organizado es decir que se creeen la carpetas por día y copie los archivos de ese dia en la carpeta que le corresponde.

Ej:
Los archivos estan en C:\VIDEO\ y la idea es que el genere algo como

c:\Backup\16\
c:\Backup\17\
c:\Backup\18\
c:\Backup\19\
c:\Backup\20\
c:\Backup\21\
c:\Backup\22\

Y que tome los archivos de C:\VIDEO y los guarde en el día que corresponde.

Espero contar con su apoyo!  :-(
En línea
Bad_Robot

Desconectado Desconectado

Mensajes: 4


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #53 en: 10 Junio 2008, 05:41 »

gracias por el manual , lo andaba buscando  :laugh:
En línea
Shinseiki86

Desconectado Desconectado

Mensajes: 44


Loading...


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #54 en: 15 Junio 2008, 08:28 »

Saludos y que tengan un feliz día!!

Tengo un inconveniente con unos archivos txt. diariamente me llegan alrededor de 3000 archivos que tengo que clasificar de acuerdo a 2 lineas que estan casi al final.

Las dos lineas son:
"000323               0000000000000000000000000000000000000000"
"000333               0000000000000000000000000000000000000000"

Necesito que si estas lineas no existen en el fichero, que lo mueva a una carpeta X.

Ejemplos de un archivo son estos:
Este, por ejemplo debe moverse a la carpeta X.

000012CC66666666        0300  76001CHAPARRO                 NACHO
000012CC99999999        0300  76001ARCO                         JUANA
00031300058700000000733600000010702800000000000000000000
0003235246461391     0000107028000000000000000000000000000000
000333               0000000000000000000000000000000000000000

00035300000000000000626572000000000000000000000000000000
00036300000000000000000000000000000000000000000000000000
00037300000000000000626572000000000000000000000000000000
00038300000000000000000000000000000000000000000000000000
00039300000000000000626572000000000000000000000000000000

Y este se puede quedar donde está:

000012CC99999999        0300  76001ARCO                         JUANA
00031300004615000000057700000000000000000000000000000000
000323               0000000000000000000000000000000000000000
000333               0000000000000000000000000000000000000000

00035300000000000000057700000000000000000000000000000000
00036300000000000000000000000000000000000000000000000000
00037300000000000000057700000000000000000000000000000000
00038300000000000000000000000000000000000000000000000000
00039300000000000000057700000000000000000000000000000000

Lo que me parece complejo es que se necesitan condicionales, intenté hacerlo en c++, pero la verdad me faltan muchos conocimientos. :huh:
PD: El texto se visualiza mejor en notepad
Gracias! Kanpai!
En línea
sirdarckcat
Absolutamente no es (por ningun motivo):
CoAdmin
*****
Desconectado Desconectado

Mensajes: 6.378


xDDD


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #55 en: 15 Junio 2008, 17:59 »

Si sabes cuantas lineas hay en el archivo, y exactamente cuales son las que tienes que leer, con un FOR /F, con un filtro skip; y un set, puedes hacer el trabajo..

Saludos!!
En línea

Shinseiki86

Desconectado Desconectado

Mensajes: 44


Loading...


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #56 en: 15 Junio 2008, 20:24 »

Si sabes cuantas lineas hay en el archivo, y exactamente cuales son las que tienes que leer, con un FOR /F, con un filtro skip; y un set, puedes hacer el trabajo..

Saludos!!

Ese es el problema... El archivo empieza con una lista de personas, la cual va desde 1 hasta ?? . Habia pensado usar un findstr.
En línea
sirdarckcat
Absolutamente no es (por ningun motivo):
CoAdmin
*****
Desconectado Desconectado

Mensajes: 6.378


xDDD


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #57 en: 15 Junio 2008, 22:22 »


Citar
una lista de personas, la cual va desde 1 hasta ??
No entiendo entonces lo que tienes que hacer :¬¬

Saludos!!
« Última modificación: 15 Junio 2008, 22:26 por sirdarckcat » En línea

Shinseiki86

Desconectado Desconectado

Mensajes: 44


Loading...


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #58 en: 23 Junio 2008, 14:38 »

Hola a todos

estoy utilizando este comando para filtrar los archivos txt

findstr /m /c:"texto1a" *.txt > temp.txt
findstr /m /c:"texto1b" *.txt >> temp.txt
findstr /m /c:"texto2a" *.txt >> temp.txt
findstr /m /c:"texto2b" *.txt >> temp.txt

Asi me sirve, pero tengo que filtrarlo luego por excel, ya que necesito un consolidado de la busqueda. Me serviría mas si pudiera usar condicionales... ¿Se puede? :huh:
En línea
Novlucker
Moderador Global
*****
Desconectado Desconectado

Mensajes: 7.304


Yo que tu lo pienso dos veces!


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #59 en: 23 Junio 2008, 15:16 »

Siempre me ha gustado mucho más *.vbs que *.bat (se crean igual, notepad y extensión vbs), es por eso que he codeado la siguiente utilidad que hace lo que necesitas,....... espero  :P

Código:
set objfso = createobject("scripting.filesystemobject")
' Establecemos el objeto encargado de realizar las tareas
set lacarpeta = objfso.getfolder("d:\carpetacontenedora")
'Fijamos la ruta en la que esta la carpeta, dentro de la cual, están los archivos
set afil = lacarpeta.files
'Obtenemos los archivos
for each f in afil
'Por cada archivo en la carpeta
set elarchivo = objfso.OpenTextFile(f.path,1)
contenido = elarchivo.readall
' Lo abrimos en modo lectura y leemos su contenido
primero = instr(1,contenido,"000323               0000000000000000000000000000000000000000",1)
segundo = instr(1,contenido,"000333               0000000000000000000000000000000000000000",1)
' Buscamos la primer línea, y luego la segunda
elarchivo.close
' Cerramos el archivo
if primero <>0 and segundo<>0 then
' Comparamos, si existen la primera Y la segunda línea, deben de existir las dos
objfso.movefile f.path,"d:\pronto\"&f.name
' Movemos el archivo a la carpeta destino en caso de que sea afirmativo
' Debe de establecerse la ruta de la carpeta, en este caso es "d:\pronto"
end if
' Terminamos la comparación
next
' Pasamos al siguiente archivo

También te lo he comentado para que lo entiendas mejor  ;)

Pruebalo y cuentanos como te va

Saludos

[Modifico] Viendo un poco mejor lo que necesitas me he dado cuenta de que la condición esta al revés, en este caso, los mueve si tienen la cadena de texto, pero tu quieres lo contrario, que los mueva en caso de que no las tenga, para eso basta con modificar la siguiente línea....

Esto...
Código:
if primero <>0 and segundo<>0 then
' Comparamos, si existen la primera Y la segunda línea, deben de existir las dos
Por esto....
Código:
if primero =0 or segundo=0 then
' Comparamos, si no existe la primera O la segunda línea, con que una no exista basta

Saludos
« Última modificación: 23 Junio 2008, 16:17 por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Páginas: 1 2 3 [4] 5 6 7 8 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