Foros del Web » Programación para mayores de 30 ;) » Programación General »

programacion batch

Estas en el tema de programacion batch en el foro de Programación General en Foros del Web. me podrian comentar si hay una forma de poder realizar un batch, donde toma ciertos archivos con ciertos nombres y me los copie a una ...
  #1 (permalink)  
Antiguo 31/08/2010, 21:47
Avatar de aRTeX  
Fecha de Ingreso: mayo-2005
Mensajes: 374
Antigüedad: 19 años, 6 meses
Puntos: 0
programacion batch

me podrian comentar si hay una forma de poder realizar un batch, donde toma ciertos archivos con ciertos nombres y me los copie a una carpeta X.

o sea lo que necesito es poder tomar el nombre del archivo y cortarlo. para asi realizar un filtro que los archivos con ciertos nombres se vaya a una carpeta y los que tienen otros nombres se vayan a otra!!

existe alguna forma??

saludos.
  #2 (permalink)  
Antiguo 01/09/2010, 05:23
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: programacion batch

Buenas,

te sería mucho más fácil realizarlo en Visual Basic Script, que es más potente que un BATCH y corre igual de bien en Windows.

Si saco un momento que hago el código.

Un saludo.
  #3 (permalink)  
Antiguo 01/09/2010, 07:46
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: programacion batch

Cita:
Iniciado por noblejis Ver Mensaje
Buenas,

te sería mucho más fácil realizarlo en Visual Basic Script, que es más potente que un BATCH y corre igual de bien en Windows.

Si saco un momento que hago el código.

Un saludo.
Para hacer ese procesamiento es mejor utilizar un batch ya que consume menos memoria y es mas rapido para este tipo de tareas, de que sea mas potente el Vb Script puede que si, pero casi todo lo que se puede hacer con VB script lo puedes hacer con batch ;)


Aqui esta lo que pides aRTeX:

Código:
echo off
rem Aqui busca en una carpeta todos los archivos que se llamen datos*.txt y los copia a otra carpeta
for /f "tokens=* delims= " %%a in ('dir /B "datos*.txt"') do (
copy %%a nueva/ruta/%%a
)

rem Aqui busca los que se llamen algo*.html y los mueve a una nueva carpeta
for /f "tokens=* delims= " %%a in ('dir /B "algo*.html"') do (
copy %%a nueva/ruta/%%a
)
Saludos!
  #4 (permalink)  
Antiguo 01/09/2010, 08:36
 
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: programacion batch

Cita:
Iniciado por Libras Ver Mensaje
Para hacer ese procesamiento es mejor utilizar un batch ya que consume menos memoria y es mas rapido para este tipo de tareas, de que sea mas potente el Vb Script puede que si, pero casi todo lo que se puede hacer con VB script lo puedes hacer con batch ;)
Después de ver tu código tengo que darte la razón. La verdad es que no se mucho de Batch.

Un saludo.
  #5 (permalink)  
Antiguo 01/09/2010, 11:43
Avatar de aRTeX  
Fecha de Ingreso: mayo-2005
Mensajes: 374
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: programacion batch

gracias compiters por sus comentarios!!

pero para ser mas especifico, necesito saber como cortar un texto en batch. ya que el codigo de libras, me sirve bastante, pero tengo que identificar el archivo, y para poder identificarlo bien necesito tomar el nombre y cortarlo y al parecer eso no se puede hacer con batch

saludos.
  #6 (permalink)  
Antiguo 01/09/2010, 15:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: programacion batch

Si se puede cortar un texto por ejemplo:

Código:
rem En estos ejemplos se corta el valor de la variable date y se almacena en diferentes variables dependiendo lo que se quiere guardar
	set day=%date:~0,3%
	set mm=%date:~4,2%
	set dd=%date:~7,2%
	set yyyy=%date:~10,4%
	set hour=%time:~0,2%
	set min=%time:~3,2%

la sintaxys es:

variable=%variable a cortar:~inicio,fin%

Saludos!!

Etiquetas: batch, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:10.