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 Einträge per Batch aus Datei löschen

Mitglied: dave114

dave114 (Level 2) - Jetzt verbinden

02.06.2010, aktualisiert 11:33 Uhr, 4906 Aufrufe, 11 Kommentare

morgen allerseits,

Ich habe hier eine Datei die mehr als 4000 SMTPRoutes enthält.

Formatbeispiele:
Domain:IP
Domain:Hostname
.Domain:Hostname

Zwischen drin sind allerdings auch immer wieder Kommentare.

Formatbeispiel:
#Domain:Hostname
#(Lehrzeichen)bla bla

Ich würde gerne die Datei per Batch so bearbeiten (oder neu erstellen) das er mir alle Sachen die hinter dem Domainnamen stehen (also alles andere in der Zeile inklusive den : ) rauswirft oder die Sachen vor dem : in eine neue Datei schreibt.
Zusätzlich sollen auch die Kommentare (die jeweils mit einem # beginnen) entfert werden.

Da das ganz voraussichtlich jeden Monat neu gemacht werden muss will ich es niemanden zumuten das jedes Mal von Hand zu machen.

Ich würde mich über eure Hilfe freuen.

mfg
David


/edit:

Beispiele:

Ursprungsdatei:

archaeologie-xxx.de:15.62.xxx.xxx 
landesmuseum-xxx.de:10.18.xxx.xxx 
# Mai 2005 
museum-xxx.de:10.30.xxx.xxx 
# land-xxx.de 2009013001

Datei nach bearbeitung:

archaeologie-xxx.de 
landesmuseum-xxx.de 
museum-xxx.de
Mitglied: Edi.Pfisterer
02.06.2010 um 11:15 Uhr
Hallo!
Poste mal ein paar Zeilen aus Deiner Datei + wie die Datei danach aussehen sollte, dann können wir uns das ganze etwas leichter vorstellen und werden sicher eine Lösung finden...

lg
Bitte warten ..
Mitglied: Edi.Pfisterer
02.06.2010 um 11:44 Uhr
Hallo!
Versuch mal folgendes - ist zwar kein batch, aber sollte auch das machen, was Du willst:
(ist ungetestet, bitte zuerst an einer Sicherungskopie deiner Datei ausprobieren...)

Speichern unter *umbau.vbs*
01.
datei= "lindenbaum.txt" 
02.
 
03.
Set fs = CreateObject("Scripting.FileSystemObject") 
04.
 
05.
Set File = fs.OpenTextFile(datei , 1, true) 
06.
        Do While not file.AtEndOfStream 
07.
                           zeile = (file.ReadLine) 
08.
                            doppelpunkt = instr(zeile,":") 
09.
                            if doppelpunkt >= 1 then 
10.
                               zeile = left(zeile, doppelpunkt-1) & vbCrLf 
11.
                            end if 
12.
 
13.
                            raute = instr(zeile,"#") 
14.
                            if raute >= 1 then 
15.
                               zeile = "" 
16.
                            end if 
17.
 
18.
                         inhaltneu = inhaltneu & zeile 
19.
        Loop 
20.
 
21.
Set File = nothing 
22.
 
23.
set dateineu = fs.createtextfile(datei, true) 
24.
dateineu.write  inhaltneu 
25.
Set dateineu = nothing
Hoffe, das hilft Dir weiter
lg
Bitte warten ..
Mitglied: dave114
02.06.2010 um 11:52 Uhr
Respekt Edi

Läuft einwandfrei.

Das einzige was du mir noch verraten könntest wäre wie ich noch die Leerzeilen die durch das rauslöschen der Kommentare entstehen aus der Datei rausbekomme.

Vielen Dank.

David

/edit

und wenn du grad sonst nichts zu tun hast würde ich mich freuen wenn du den Quellcode ein wenig kommentieren würdest - ich bin nicht so die Leuchte in vbs .
Bitte warten ..
Mitglied: Edi.Pfisterer
02.06.2010 um 12:25 Uhr
Hallo!
Hab den "Fehler" bereits oben im Code ausgessert, bitte nochmal testen - Leerzeilen sollten nun keine mehr entstehen...

Zur kurzen Erklärung (muss wieder in den Unterricht zurück - es fällt relativ schnell auf, wenn der Lehrer weg ist

instr(WoWirdGesucht, WasWirdGesucht) liefert die Stelle, an der das gesuchte Zeichen/die Zeichenkette zum ersten mal vorkommt.
ergo: wenn 0, dann kommt das Zeichen gar nicht vor

Pseudocodemaessig also:
bis zeile 6 --> datei wird geöffnet
7 - zeile wird eingelesen
8 variable doppelpunkt sucht :
9 wenn er vorkommt wird in
10 variable zeile = von links beginnend bis zum doppelpunkt (exklusive diesem selbst)

13 gleiches wie beim doppelpunkt mit der #
15 wenn # vorkommt wird die zeile gelöscht
21 datei schliessen
24 datei neu anlegen

lg
Edi
Bitte warten ..
Mitglied: pieh-ejdsch
02.06.2010 um 12:26 Uhr
Hi dave,

eine Zeile im CMD reicht auch
01.
for /f "delims=:" %i in ('findstr /v ^# "D:\Original.txt"') do echo %i>>"D:\Veraenderte.txt"
sind sogar keine Leerzeilen dabei

Gruß Phil
Bitte warten ..
Mitglied: dave114
02.06.2010 um 12:38 Uhr
Edi leider erstellt er jetzt nur noch eine leere Datei

Was für ein Lehrer bist du?
Auch mal lustig wenn der Lehrer den Unterricht verlässt um ein bisschen zu surfen und Leuten im Forum zu helfen

Danke.
David
Bitte warten ..
Mitglied: Edi.Pfisterer
02.06.2010 um 12:49 Uhr
@ dave114: sorry, in der vorletzten Zeile war das "neu" verschluckt worden - im code oben bereits ausgebessert
@ pieh-ejdsch: so gehts natürlich auch
Nun meine Bitte an Dich: könntest du so nett sein, und den Code für uns kommentieren?
ich blick da leider nicht durch...

lg

/edit: hab ich oben überlesen: bin studierter Betriebswirt und Lehrer für selbiges und Wirtschaftsinformatik
Die SchülerInnen haben grad eine Arbeitsaufgabe und obwohl sie ja sehr sympatisch sind, ist es doch zu laaangweilig, ihnen beim Nachdenken zuzusehen...
Bitte warten ..
Mitglied: dave114
02.06.2010 um 13:03 Uhr
Danke für deine Lösung Phil.

Ich kann mich Edi anschließen und dich bitten uns den Code etwas zu erklären.

Und noch etwas:

Wie kann ich den Befehl in einer Batch verwenden?

Wenn ich z.B. die Batch über "call change.bat" aufrufe bekomme ich folgenden Fehler:

"i" ist syntaktisch an dieser Stelle nicht verarbeitbar.
@Edi
Ja das mit dem zugucken kann ich verstehen

mfg
David
Bitte warten ..
Mitglied: pieh-ejdsch
02.06.2010 um 13:27 Uhr
Gerne

FOR /F "Delims=:" %i in ('Befehl') do Anweisung %i
- gib mir die Ausgabe bis vor dem "Trennzeichen=:" als %Variable der in (Klammern stehenden Datei oder der "Zeichenfolge" oder des 'Befehles') Zeilen weise in %Variable aus

ECHO %Variable>>"Datei"
- gib %Variable in das CMDfenster aus
>>"Datei"
- Leite das ganze fortlaufend jeweils eine Neue Zeile in die "Datei" um

findstr /v ^# "D:\Original.txt"
- Durchsuche die Datei "D:\Original.txt" und gib [/V] NICHT die Zeilen welche [^] am Zeilenanfang ein [#] enthalten aus. Also nur die anderen Zeilen.

[Edit]um diese Zeile in einen *.CMD oder *.BAT zu starten müssen die FOR Variablen mit doppelt vorangestellten Prozentzeichen dargestellt werden.
also %%i
[/Edit]
Bitte warten ..
Mitglied: Edi.Pfisterer
02.06.2010 um 13:36 Uhr
Super erklärt!
Vielen Dank!!!

lg

@dave114
Ich glaube mich aus einer Vielzahl ähnlicher Vorfälle (ich tippe 10 Zeilen vbs, jemand kommt dann mit 1 Zeile daher ) daran zu erinnern, dass für eine batch-Datei folgendes gilt:
% wird zu %%
Bitte warten ..
Mitglied: dave114
02.06.2010 um 14:53 Uhr
Nochmal vielen Dank euch beiden.

Viele Grüße.
David
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch um Regestry Einträge zu finden und zu löschen

gelöst Frage von zeroblue2005Batch & Shell15 Kommentare

Hallo Zusammen, ich suche eine Möglichkeit einen Standardwert in der Regestry zu finden und dann diese alle zu löschen ...

Batch & Shell

Batch datei zum duplikate löschen

gelöst Frage von M4xx-oneBatch & Shell5 Kommentare

Hallo Gemeinde ich hab ein problem ich möchte mittels batchdatei eine TXT datei aufräumen die datei hat folgende eintäge ...

Batch & Shell

Batch Datei zum löschen des Papierkorbes

Frage von Munin92Batch & Shell3 Kommentare

Guten Abend liebe Community, ich hoffe das ich in diesem Forum für diese Frage richtig bin. Und zwar habe ...

Batch & Shell

Per Batch Einträge bestimmter Spalten einer Text-Datei löschen und ersetzen

Frage von GrinsebaerBatch & Shell7 Kommentare

Hi, bin totaler Anfänger in Batch und sitze an folgendem Probelm: Ich soll die Tabelleneinträge bestimmter Spalten in einer ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 14 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 19 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...