Comment faire pour supprimer des lignes de texte fichier par fichier batch?
J'ai un fichier texte avec le contenu suivant avec quelques lignes indésirables qui je veux supprimer à partir du fichier texte.
1233,pqry,01/11/2011
2365698,abcd,2011/01/12
,defghj,11/12/2013
,,,
,,,
,,,
Dans l'exemple ci-dessus, nous pouvons voir qu'il y a plusieurs lignes avec séparées par des virgules. Je veux supprimer ces lignes de mon fichier texte via un fichier de commandes. De bien vouloir m'aider
- vous voulez vous débarrasser hors
,,,
lignes? - vos lignes ne sont pas
comma separated
. Les lignes sont séparées parCR/LF
. - Oui, je voulais abandonner des lignes qui n'ont plus que la virgule n'ayant pas d'autres valeurs
Vous devez vous connecter pour publier un commentaire.
Renommer le fichier sous .vieux. Trouver toutes les lignes ne contenant pas ",,," au début de la ligne dans l'ancien fichier et de l'enregistrer au fichier d'origine.
ÉDITÉ à s'adapter aux commentaires
Si les lignes sont ceux avec seulement des virgules (je vais inclure des espaces) et aucune autre valeur, alors cela devrait fonctionner
Pour chaque fichier dans le chemin, renommez le fichier
*.old
, à partir de ce.old
fichier extraire toutes les lignes ne contenant pas (/v
) l'expression régulière (/r
) défini par le modèle (/c
) : "depuis le début de la ligne (^
), suivie par une séquence d'espaces et les virgules ([, ]*
) jusqu'à atteindre la fin de la ligne ($
)". L'extrait lignes sont à envoyer pour le nom de fichier d'origine./b
dans la commande, dit le match doit être au début de la ligne, si vous savez qu'une simple virgule au début de la ligne est suffisant pour rejeter la ligne, changement",,,"
juste","
. D'autres options nécessité d'adapter le match expression.for %%t in (c:\somewhere\*.txt) do (....
et de consulter le nom complet (y compris le chemin) du fichier que"%%~ft"