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, 4592 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
Entwicklung
Suchen und ersetzen als Batch oder VBA
gelöst Frage von ZinedineEntwicklung22 Kommentare

Hallo, bin hier neu im Forum und ein absoluter Laie was Programmierung betrifft Habe deswegen auch ein großes für ...

Batch & Shell

CMD: Suchen, Ersetzen und Hochzählen

gelöst Frage von ralfkauskBatch & Shell3 Kommentare

Hallo zusammen Ich habe folgendes Problem In einer Datei muss ein Wert gefunden, auf Korrektheit geprüft und evtl. ersetzt/geändert ...

Batch & Shell

Regwert suchen und ersetzen?

Frage von busteronBatch & Shell7 Kommentare

Hallo alle zusammen, ich hab mal wieder ne Frage! Wie kann ich die komplette Registry über eine Batch nach ...

Windows Tools

Suche Programm zum dateien suchen und Ersetzen mit Wildcat Suche

gelöst Frage von sfera-haizaWindows Tools5 Kommentare

Grüßt euch, ich nutze zzT. das Programm InfoRapid Suchen & Ersetzen um HTML / PHP Dateien zu durchsuchen bzw. ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 1 TagHumor (lol)4 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 1 TagExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 2 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 3 TagenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Netzwerke
Netzwerk-Architektur mit VLANs
Frage von niLuxxNetzwerke21 Kommentare

Liebe Community, Ich hätte eine kurze Frage an euch. Ich werde in Kürze das Netzwerk unserer (sehr) kleinen Firma ...

Webbrowser
Neuer Tab Firefox
gelöst Frage von BleifussWebbrowser12 Kommentare

Hallo, via Strg + T öffnet man ja einen neuen Tab. Gibt es die Möglichkeit, dass der Tab sich ...

Windows Server
WSUS nach Upgrade - kein Start mehr
gelöst Frage von Ghost108Windows Server9 Kommentare

Hallo zusammen, habe einen Windows Server 2012 welcher als WSUS dienst. Jetzt wurde ein Upgrade auf Server 2016 durchgeführt ...

Microsoft
Ist es möglich ein reines Volume C Datenbackup in eine Hyper-V VM zu konvertieren?
Frage von Frank84Microsoft8 Kommentare

Hallo zusammen, ich habe hier ein Backup vorliegen, das ausschließlich das komplette C:\ Volume eines physischen Server 2012 enthält. ...