2008-11-25 6 views

Répondre

1

Ecrire un script personnalisé ou d'un programme pour ouvrir le fichier test.txt une fois, et d'écrire toutes les données en en un seul coup.

À l'heure actuelle, chaque ligne est exécutée séparément par l'interpréteur de commandes, et le fichier est ouvert et fermé à chaque fois.

Même un petit programme qbasic devrait être capable de supprimer les données entre l'écho et >> et de l'écrire dans un fichier texte plus rapidement que votre méthode actuelle.

-Adam

1

vous pouvez utiliser un langage de script pour dépouiller le premier ECHO et arrière >> test.txt avec une petite expression régulière

est ici un exemple en python:

>>> import re 
>>> text = 'ECHO A41,35,0,a,1,1,N,"Mr ZACHARY KAPLAN">> test.txt' 
>>> re.sub(r"ECHO\s*(.*?)>>\s*test.txt", r"\1", text) 
'A41,35,0,a,1,1,N,"Mr ZACHARY KAPLAN"' 

font cela pour toutes les lignes du fichier:

import re 
f = open("input.bat") 
of = open("output.txt", "w") 
for line in f: 
    of.write(re.sub(r"ECHO\s*(.*?)>>\s*test.txt", r"\1", line)) 

Je n'ai pas testé ce code ...

3

Essayez ceci:

Placez un ECHO OFF en haut du fichier de traitement par lots.

changer ensuite chaque ligne:

ECHO A41,35,0,a,1,1,N,"Mr ZACHARY KAPLAN" 

et appelez votre fichier batch:

mybatch.bat >> test.txt

Modifier la première ligne pour supprimer l'écho de copie papier .

+2

Si vous utilisiez @ECHO OFF, vous n'auriez pas à modifier la première ligne. du fichier texte. – Justin

2

Si vous le faites, ce sera de façon plus rapide:

JAM DO %%Fo CAt Pa (set /p %yodo%=jol) 

RUn 
Questions connexes