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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayuda sobre programacion BATCH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda sobre programacion BATCH  (Leído 4,411 veces)
DanielB

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Ayuda sobre programacion BATCH
« en: 6 Marzo 2008, 06:12 am »

He leido las ayudas del foro, pero no puedo hacer un programa en batch que lea uno a uno LOS ARCHIVOS de un determinado directorio del disco "C" y los compare con un archivo del disco "D" (para saber si el contenido de ambos archivos son iguales).
Pero el programa deberia evaluar previamente si ese archivo (del disco "C") existe en el disco "D". POR FAVOR AYUDENME
Gracias


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda sobre programacion BATCH
« Respuesta #1 en: 6 Marzo 2008, 08:39 am »

Hola supongo que ya habras estudiado un poco el comando FC para comparar dos archivos y mostrar sus diferencias..

Código:
FC /?
Para ver la ayuda del Comando.

Y respecto a lo de a lo de evaluar si el archivo del disco c: esta en d:, no le veo caso, ya que se supone que vamos a comparar archivos diferentes, y no necesitas tener el archivo1 que esta en c: en d:...

El programa revisara si existen los archivos que quieres comparar, si no, te devuelve error.



En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
DanielB

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda sobre programacion BATCH
« Respuesta #2 en: 6 Marzo 2008, 09:18 am »

Primero, GRACIAS por contestar. Conozco el comando FC, pero mi problema radica en lo siguiente:

1) Tengo un subdirectorio en el disco "C" con 250 archivos aproximadamente y en el "D" tengo casi lo mismo o menos. Ej: C:\sudir\file1, C:\sudir\file2, C:\sudir\file3, C:\sudir\file4, ... y asi sucesivamente hasta C:\sudir\file250 y en el disco "D" (es un disco extraible ~ backup) tengo D:\sudir\file1, C:\sudir\file4, C:\sudir\file5, ... y asi sucesivamente hasta file250. Como podras ver en el disco "D" falta el file2 y el file3.

2) Debido a que se han modificado algunos archivos tanto en "C" como en "D" indiscriminadamente, yo debo encontrar cuales son los archivos que son iguales (en su contenido, es decir, la informacion que contiene el archivo) tanto en "C" como en "D", es decir si:
      C:\sudir\file1  = D:\sudir\file1  son iguales
      C:\sudir\file2  ---> NO EXISTE EN EL "D" el programa en BATCH deberia contemplarmelo
      C:\sudir\file3  ---> NO EXISTE EN EL "D" idem anterior
      C:\sudir\file4  = D:\sudir\file4  son distintos
      C:\sudir\file5  = D:\sudir\file5  son iguales
y asi sucesivamente hasta el file250. Por supuesto que la salida deberia ser otro archivo llamado por ejemplo "salida.tmp" en donde pueda saber cuales son iguales, cuales distintos y cuales faltan en el "D".

Obviamente no quiero hacerlo uno por uno, por eso pense que podria hacerlo en un BATCH en forma automatica, pero me resulta muy dificil y de ahi que necesito ayuda.
Espero haya sido lo suficientemente claro.
GRACIAS

« Última modificación: 7 Marzo 2008, 06:42 am por DanielB » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda sobre programacion BATCH
« Respuesta #3 en: 6 Marzo 2008, 17:55 pm »

Hola, entiendo lo que me quieres decir, pero no se como aplicarlo...

Supongamos que los archivos tienen nombre asi:
file1, file2, file3, file4.

Podrias usar IF:
Código:
IF [NOT] EXIST archivo comando Else "haz esto"

Si existe el archivo, los compararia, si no existe le pones que te muestre un mensaje de que no haya y se vaya a la siguiente linea.

Pero no se como ponerlo para que sea mas automatico como tu quieres... :-\

Ya me quede con la duda... :huh:
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
DanielB

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda sobre programacion BATCH
« Respuesta #4 en: 7 Marzo 2008, 15:57 pm »

ok con lo del "IF", pero...como haces para pasar la salida que te da el "dir /b" y pasarlo como parametro uno por uno al "IF". Yo probe hacer lo siguiente y me dio error.

dir c:\subdir\*.* /b | if exist d:\"salida del dir" (fc .......) else (echo el archivo no existe)

Como resuelvo esta situacion: pasar uno por uno los nombres de los archivos que me da el "dir" y pasarlos al "fc".

Gracias de nuevo
« Última modificación: 7 Marzo 2008, 21:31 pm por DanielB » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda sobre programacion BATCH
« Respuesta #5 en: 9 Marzo 2008, 07:20 am »

Hola disculpa por la tardanza.

Aver si te sirve esta idea.
Que tal si hacemos un dir /b y lo direccionamos a .txt
Código:
@echo off
dir /b>dir.txt
For /f "tokens=2 delims=:" %%a in ('FIND /I " LoQueQuieresEncontrar" dir.txt') do (set pa=%%a)
Y aqui irian los demas comandos usando la variable %pa%

Es solo una idea...
« Última modificación: 9 Marzo 2008, 07:23 am por RockoX » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
DanielB

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Ayuda sobre programacion BATCH
« Respuesta #6 en: 9 Marzo 2008, 12:49 pm »

Hola mi amigo. No tienes por que disculparte. Voy a probarlo. Gracias por la ayuda.  GRACIAS
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda en programacion de batch
Scripting
47anonimo74 9 5,401 Último mensaje 29 Junio 2011, 12:33 pm
por WaAYa HaCK
Batch ayuda sobre como dar la bienvenida con el nombre
Scripting
ELVJop 3 4,485 Último mensaje 10 Abril 2012, 08:44 am
por Eleкtro
Ayuda con dudas de programacion batch
Scripting
legolas266 3 3,462 Último mensaje 28 Febrero 2013, 12:17 pm
por Eleкtro
ayuda programacion batch: uso del for /f
Programación General
juntacadaveres 7 5,673 Último mensaje 4 Abril 2019, 20:42 pm
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines