J'ai un fichier texte que j'importe dans la table d'accès en utilisant l'invite de commande. Le problème est que ce fichier texte a une ligne vide comme dernière ligne. Quelqu'un peut-il me fournir un script qui supprime ma ligne vide à la fin du fichier afin que je puisse finaliser mon processus d'automatisation. J'utilise la plate-forme Windows 2000.Comment puis-je supprimer la dernière ligne d'un fichier texte en utilisant l'invite de commande?
Répondre
Here est un script qui supprime les lignes vides d'un fichier texte. Il est écrit pour Windows 2000.
Const ForReading = 1
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.Readline
strLine = Trim(strLine)
If Len(strLine) > 0 Then
strNewContents = strNewContents & strLine & vbCrLf
End If
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForWriting)
objFile.Write strNewContents
objFile.Close
allez maintenant, ne voyez-vous pas cela peut être fait en 1 ligne avec le bon outil? – Haoest
Yup, ou vous pouvez simplement utiliser ce script sans un outil supplémentaire à s'inquiéter. Sa vieille technologie, mais ça marche. Il a demandé win2k sinon j'aurais utilisé PowerShell. – notandy
(get-content C: \ Fichier.txt) | où {$ _ -ne ""} | out-file c: \ file.txt – notandy
Cela fonctionne à l'aide head
head -n -1 input.txt > output.txt
Malheureusement, je pense que Windows ne vient pas avec cet outil utile par défaut, mais l'installation Cygwin vous donne cela et beaucoup de d'autres choses aussi bien.
Vous pourriez essayer de chercher ici les ports Windows des utilitaires Unix: http://unxutils.sourceforge.net/ – jdigital
sed '$d'
supprime la dernière ligne, mais n'est pas dans Windows 2000. Obtenez les utils de gnu pour obtenir un sed pour Windows.
Sur this site vous trouverez une liste d'autres commandes sed pour manipuler des fichiers.
Samar, posez-vous une autre question sur la suppression d'autres lignes vides dans le fichier? –