Ms-Dos - URGENTE:Actualizar archivos .txt de una carpeta Determinada

 
Vista:
sin imagen de perfil

URGENTE:Actualizar archivos .txt de una carpeta Determinada

Publicado por Enrique (8 intervenciones) el 29/10/2013 20:50:37
Hoa que tal, quisiera si alguien puede darme una mano con el siguiente requerimiento:

- en una carpeta tengo varios archivos .txt, el nombre de algunos de estos terminan con ALTAS. Ej: 20102013ALTAS.TXT
Tengo que abrir estos archivos que su nombre termina con "altas" , recorrerlo y borrar todas aquellas lineas que contengan la palabra " usuarios" .

hasta ahora tengo lo siguiente: esto lo probe y anda bien. lo que me faltaria es ver como hacer esto pero para todos los archivos de la carpeta.


::--------------------------------------
@echo OFF
for /f "tokens=*" %%A in (C:\Users\Desktop\ARCHIVO.TXT) do (ECHO %%A |findstr /I /V "ALTAS")>> C:\Users\Desktop\ARCHIVO2.TXT

COPY C:\Users\Desktop\ARCHIVO2.TXT C:\Users\Desktop\ARCHIVO.TXT

DEL C:\Users\Desktop\ARCHIVO2.TXT

::---------------------------------

entiendo que deberia usar un FOR para recorrer todos los archivos de la carpeta en cuestión

alguien que pueda ayudarme, muy agradecido
saludos cordiales!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

URGENTE:Actualizar archivos .txt de una carpeta Determinada

Publicado por Antoni Masana (811 intervenciones) el 30/10/2013 11:21:47
Esto resuelve el problema según lo entiendo.

1
2
3
4
5
6
@echo off
 
MD Nuevo
FOR %%a IN (*ALTAS.TXT) DO FINDSTR /i /v usuarios %%a >Nuevo\%%a
COPY Nuevo\*.* . /Y
RD   Nuevo   /S /Q


- Crea un acarpeta nueva.

- El FOR busca todos los ficheros del directorio actual que terminancon ALTAS.TXT y el FINDSTR elimina los registros que tengan la palabra usuarios en minuscula u mayuscula y lo grana en el directorio Nuevo.

- Copia los nuevos ficheros en el directorio original.

- Elmina el directorio Nuevo y todo su contenido.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

URGENTE:Actualizar archivos .txt de una carpeta Determinada

Publicado por ENRIQUE (8 intervenciones) el 31/10/2013 16:36:57
el directorio original( la carpeta donde contengo los archivos a actualizar) va dentro del parentesis del FOR? Ejemplo: (C:\Users\Desktop\carpeta\*ALTAS.TXT). de ser asi, no anda.


EN EL FOR TENGO EL SIGUIENTE ERROR:

No se esperaba %%a en este momento.






Muy agradecido desde ya!

saludos cordiales!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

URGENTE:Actualizar archivos .txt de una carpeta Determinada

Publicado por Antoni Masana (811 intervenciones) el 01/11/2013 06:44:12
Puedes la tienes que poner al inicio del BAT


1
2
3
4
5
6
7
8
9
@ECHO OFF
 
CD C:\Users\Desktop\carpeta
MD Nuevo
 
FOR %%a IN (*ALTAS.TXT) DO FINDSTR /i /v usuarios %%a >Nuevo\%%a
 
COPY Nuevo\*.* . /Y
RD   Nuevo   /S /Q


Si la pones dentro del FOR la sintaxis es así

1
2
3
4
5
6
7
8
@ECHO OFF
 
MD C:\Users\Desktop\carpeta\Nuevo
 
FOR %%a IN (C:\Users\Desktop\carpeta\*ALTAS.TXT) DO FINDSTR /i /v usuarios C:\Users\Desktop\carpeta\%%a >C:\Users\Desktop\carpeta\Nuevo\%%a
 
COPY C:\Users\Desktop\carpeta\Nuevo\*.* C:\Users\Desktop\carpeta\. /Y
RD   C:\Users\Desktop\carpeta\Nuevo   /S /Q


Y puestos a escoger me quedo con la primera.

Es más simple, más facil de leer, funciona igual de bien o mejor y es más corta y hay menos posibilidad de error.

Aunque para gustos los colores.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar