Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Suchen und Ersetzen

Mitglied: 62641

62641 (Level 1)

08.05.2008, aktualisiert 15:24 Uhr, 4605 Aufrufe, 4 Kommentare

Hallo,

ich bräuchte mal schnell Eure Hilfe.

Und zwar geht es um ein Batch-Skript, das nach bestimmten Ordnern und ausführbaren Dateien sucht.

Da es manche Dateien öfter gibt und ich die aber nur einmal gelistet haben möchte, dachte ich, ich kann die durch Suchen/Ersetzen filtern.

Also wenn die Datei z. B. so aussieht:

1234
1234
1234
123456
1234
1234
4321
4321
1234
123456
4321

.. dann sollte sie danach so aussehen (Reihenfolge egal):

1234
123456
4321

Also alle doppelten Zeilen herausfiltern.


(Kleine Überlegung: Wenn er jetzt in der Variable z. B. "halloblubb" gespeichert hat, kann er dann alle Zeilen die "halloblubb" lauten löschen und sich dann ganz normal wieder ans Ende der Datei schreiben?
Also in etwa:

Batch Start ------
...
...
...
in txt.txt jede zeile mit %variable% löschen
%variable% >> txt.txt
Batch Ende
)

Ich hoffe, ich hab mich nich zu blöd ausgedrückt. :>

Dankeschön =)

(Hab leider keine Lösung in der Sufu gefunden. )
Mitglied: bastla
08.05.2008 um 14:50 Uhr
Hallo Anno##!

Versuch es etwa so:
01.
@echo off & setlocal
02.
set "Datei=D:\txt.txt"
03.
set "Bak=bak"
04.
 
05.
if not exist "%Datei%" echo %Datei% nicht gefunden! & goto :eof
06.
move "%Datei%" "%Datei%.%Bak%"
07.
@for /f "usebackq delims=" %%i in ("%Datei%.%Bak%") do findstr /x /c:"%%i" "%Datei%">nul 2>nul||echo %%i>>"%Datei%"
08.
del "%Datei%.%Bak%"
Wenn Du die letzte Zeile weglässt, bleibt die Originaldatei als Sicherungskopie "D:\txt.txt.bak" erhalten.

Zum Ablauf: Nach dem Umbenennen (per "move" - dadurch wird auch gleich automatisch eine ev noch vorhandene alte Sicherungskopie gelöscht) der Originaldatei wird diese zeilenweise eingelesen und jede gelesene Zeile mit der neuen Datei verglichen (Diese ist am Anfang natürlich noch gar nicht vorhanden und daher würde der Batch ohne die Umleitung mit "2>nul" die Fehlermeldung "FINDSTR: D:\txt.txt kann nicht geöffnet werden." ausgeben). Wird die Zeile noch nicht in der neuen Datei gefunden, wird sie an diese angefügt.

Grüße
bastla

[Edit] "findstr"-Schalter "/c" ergänzt [/Edit]
Bitte warten ..
Mitglied: 62641
08.05.2008 um 15:02 Uhr
Super, danke dir!

Nur ein winzig kleines Problemchen .. :x

1234
1234
123456
geht problemlos ...

Leider enthält eine Zeile mehrere Leerzeichen und Tabs ..
Ich glaub deswegen gehts dann noch nicht perfekt.

Sorry, hätt ich dazuschreiben sollen.
Bitte warten ..
Mitglied: bastla
08.05.2008 um 15:16 Uhr
Hallo Anno##!

Vielleicht wird's besser, wenn wir dem "findstr" noch ein "/c" spendieren - ich korrigiere das gleich oben.

Grüße
bastla
Bitte warten ..
Mitglied: 62641
08.05.2008 um 15:24 Uhr
Danke, funktioniert einwandfrei!
Bitte warten ..
Ähnliche Inhalte
Exchange Server
Such-Index nach Neuerstellung defekt
Frage von CoverianExchange Server

Guten Morgen zusammen, wir haben hier aktuell ein Problem das mir schlaflose Nächte bereitet. Es handelt sich um einen ...

Batch & Shell
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Exchange Server

Exchange-Fehler: 550 No such recipient here

gelöst Frage von GreysonExchange Server3 Kommentare

Hallo administrator.de, habe seit heute an meinem Exchange die Fehlermeldung: #550 No such recipient here Diese Meldung erhalte ich ...

CMS

Mini-Blog-System mit Such- und Druckfunktion zum Selberhosten gesucht

gelöst Frage von DGI-SysAdmCMS1 Kommentar

Moin Gemeinde ;-) Jeden Tag diese neuen Anforderungen und am Besten alles schon gestern installiert Ich bin auf der ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 22 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 3 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk14 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Viren und Trojaner
"Erpressermail" über eigenen web.de-Account
gelöst Frage von istike2Viren und Trojaner12 Kommentare

Hallo Zusammen, ein User aus dem Team hat folgende "Erpressermail" scheinbar von dem eigenen Mailaccount bekommen: Da die User ...