Ms-Dos - Agregar informacion a un archivo TXT

 
Vista:
sin imagen de perfil

Agregar informacion a un archivo TXT

Publicado por Santiago Cedeño (8 intervenciones) el 01/06/2013 23:05:13
Muy buenas tardes espero poder contar con su ayuda ya que no he podido resolver un problema que tengo, les explico:

Yo tengo el siguiente comando en un script .BAT:

Type Archivo1.txt >> Archivo2.txt

Esto me funciona perfectamente mientras Archivo2.txt no este en uso.
Archivo2.txt tiene un programa que lo accesa cada 5 minutos y cuando este programa lo accesa el archivo queda bloqueado y no puedo seguir agregandole informacion hasta que el programa termine.
De que forma yo podría seguir agregandole informacion aunque Archivo2.txt este en uso.
Les agradezco enormemente la ayuda que me puedan facilitar o bien me aconsejen si hay algun comando que me permita agregar informacion a un archivo aunque el archivo este blequeado por agun proceso.
Quedo a la espera de sus valiosos comentarios.
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 A.H.H

Agregar informacion a un archivo TXT

Publicado por A.H.H (216 intervenciones) el 02/06/2013 21:22:41
Hola Santiago Cedeño:

he probado muchas cosas y solo se me ocurre que mates el proceso que tiene abierto el archivo de texto para asi poder insertar texto.
puedes usar ejemplo:

tskill notepad ------> en Windows 7 para matar proceso del bloc de notas de Windows.

taskkill notepad ---> en Windows xp

asi:

1
2
3
@echo off
Type Archivo1.txt >> Archivo2.txt
tskill aqui nombre proceso sin el .exe



Aunque no se si necesitas que el proceso que tiene el archivo en uso siga ejecutándose......


es tan solo una ocurrencia ya que no existe ningún comando que escriba en un archivo en uso por otro programa
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

Agregar informacion a un archivo TXT

Publicado por Santiago Cedeño (8 intervenciones) el 03/06/2013 03:12:49
Te agradezco la ayuda pero no es exactamente lo que necesito ya que necesito que el programa culmine con el processo del archivo.
Se me ocurre que si hubiera forma de que cuando yo envie el comenado de escritura en el archivo hubiese una rutina que verifique si el archivo esta en uso y de estar en uso esperar a que este activo para poder escribir en él, no soy un gurú de MS-DOS por tal motivo agradezco todo los comentarios que me puedas facilitar.
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

Agregar informacion a un archivo TXT

Publicado por Antoni Masana (811 intervenciones) el 03/06/2013 06:28:36
Se me ha ocurrido una solución:

1
2
3
4
5
6
7
@echo off
 
:Pausa
  FSUTIL SPARSE SETFLAG Archivo2.txt >nul 2>nul
  IF ERRORLEVEL 1 GOTO Pausa
 
TYPE Archivo1.txt >Archivo2.txt


La solución es limpia y elegante. El proceso FSutil verifica si el fichero esta en uso.
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

Agregar informacion a un archivo TXT

Publicado por Santiago Cedeño (8 intervenciones) el 21/06/2013 16:20:27
Buenos días creo que si funciona porque lo probé pero se queda en un Lock, es como si el archivo siguiera bloqueado, el look es infinito porque nunca termina porque siempre sigue haciendo un GOTO a PAUSA.
Hay alguna forma de corregir esto.
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

Agregar informacion a un archivo TXT

Publicado por Santiago Cedeño (8 intervenciones) el 21/06/2013 16:49:37
Estos son mis dos script que corren juntos
Script1

cd C:\

Type C:\test\punches1.txt >> c:\test\punches3.txt

:Pausa
FSUTIL SPARSE SETFLAG c:\test\punches3.txt >nul 2>nul
IF ERRORLEVEL 1 GOTO Pausa

Type C:\test\punches1.txt >> c:\test\punches3.txt


Script2

cd C:\

Type C:\test\punches2.txt >> c:\test\punches3.txt

:Pausa
FSUTIL SPARSE SETFLAG c:\test\punches3.txt >nul 2>nul
IF ERRORLEVEL 1 GOTO Pausa

Type C:\test\punches2.txt >> c:\test\punches3.txt

En las dos pantallas de MS-DOS sale lo siguiente de forma infinita:

C:\>FSUTIL SPARSE SETFLAG c:\test

C:\>IF ERRORLEVEL 1 GOTO Pausa

Agradezco si me ayudas con esto.
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