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

Mit Batch Suchbegriff in .txt finden und die nachfolgenden 8 Stellen auslesen und in neue Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: alfabravo

alfabravo (Level 1) - Jetzt verbinden

28.05.2009, aktualisiert 11:56 Uhr, 4183 Aufrufe, 8 Kommentare

Hallo Admins,

Ich habe eine Datei Import.txt mit folgendem Inhalt:

Der Vorgang mit Aktenzeichen: 12345678 ist erledigt!
Der Vorgang mit Aktenzeichen: 01234567 ist erledigt!
Ein neuer Vorgang mit Aktenzeichen: 34567012 wurde erstellt.
Der Vorgang mit Aktenzeichen: 45670123 ist erledigt!
Ein neuer Vorgang mit Aktenzeichen: 23456701 wurde erstellt.
Ein neuer Vorgang mit Aktenzeichen: 70123456 wurde erstellt.


Daraus möchte ich jeweils Zeile für Zeile das 8-stellige Aktenzeichen auslesen, welches sich immer hinter dem Suchbegriff 'Aktenzeichen: ' befindet. Das Ergebnis soll in eine neue Datei (Export.txt) geschrieben werden. So soll das ganze aussehen:


12345678
01234567
34567012
45670123
23456701
70123456


Vielen Dank & Gruß !!
Mitglied: JT
28.05.2009 um 12:33 Uhr
Hallo,

Du suchst also sowas hier?

Const ForReading = 1
Dim test
Set FSO=CreateObject("Scripting.FileSystemObject")
Set File = FSO.OpenTextFile("c:\import2.txt", ForReading, False)
Set FSI = CreateObject("Scripting.FileSystemObject")
Set file2 = FSI.CreateTextFile("C:\export.txt", True)
While Not File.AtEndOfStream
text = File.readline
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
.Pattern = "\D"
.Global = True
NurZahlen = .Replace(text, "")
file2.WriteLine(nurzahlen)
End With
Set Regex = Nothing
Wend
File.Close
file2.close

Ist nur etwas schnell zusammen geflickt.
Aber denke es reicht für dein Vorhaben.


Gruß
JT

edit: Ist keine Batch! Speicher es als Datei.VBS
Bitte warten ..
Mitglied: Woolfsmann
28.05.2009 um 12:45 Uhr
Hi,

hört sich nach ner Arbeitsanweisung für nen Praktikanten an ... oder nen Auftrag an nen Dienstleister ..

Was hast du bisher geschrieben ?
Wie sind deine Ansätze?

Wenn du es in Batch Schreiben möchtest soltest du dir die For Schleife mal angucken.


Um hier auch was Produktives zu schreiben

Ich kann Batch nich so dolle aber Perl krieg ich hin. Da kannst du dir ja dann was abgucken für die Batch.

01.
#\usr\bin\perl -w 
02.
 
03.
open (IN, "<Import.txt") or die "Can't open Import\n"; 
04.
open (OUT, ">export.txt")or die "Can't open Export\n"; 
05.
@Import=<IN>; 
06.
foreach $imp (@Import) 
07.
08.
    $imp=~/(\d+)/; 
09.
	print OUT "$1\n"; 
10.
11.
close IN; 
12.
close OUT;

gruß
Woolfsmann
Bitte warten ..
Mitglied: alfabravo
28.05.2009 um 16:44 Uhr
Danke für Eure Tipps.

Die Funktion ist Bestandteil einer größeren Batchdatei, von daher sollte es schon über Batchbefehle laufen...

Mein Problem besteht hauptsächlich darin, dass das ganze in einer Schleife ausgeführt bzw. Zeile für Zeile abgearbeitet wird. Für das Auslesen des 8-stelligen Aktenzeichens habe ich momentan diese Lösung:

---snip---
@echo off & setlocal

set "Quelle=Import.txt"

for /f "tokens=2 delims=:" %%i in ('findstr "Aktenzeichen: " %Quelle%') do set Wert=%%i
set Aktenzeichen=%Wert:~1,8%

echo>> export.txt %Aktenzeichen%
---snip---
Bitte warten ..
Mitglied: bastla
28.05.2009 um 16:45 Uhr
Hallo alfabravo!

Soferne Du Dich auf den Doppelpunkt als Trennzeichen verlassen kannst, sähe ein Batch dazu etwa so aus:
01.
@echo off & setlocal 
02.
set "Ein=D:\Import.txt" 
03.
set "Aus=D:\Aktenzeichen.txt" 
04.
 
05.
if exist "%Aus%" del "%Aus%" 
06.
for /f "tokens=1* delims=:" %%i in ('findstr "Aktenzeichen:" "%Ein%"') do for /f %%a in ("%%j") do >>"%Aus%" echo %%a
Grüße
bastla

[Edit] Suchbegriff "Aktenzeichen:" ergänzt [/Edit]
Bitte warten ..
Mitglied: 78632
28.05.2009 um 16:51 Uhr
fragnurmal:
Warum in Zeile 5 nicht nur del "%Aus%" > nul ?
Bitte warten ..
Mitglied: bastla
28.05.2009 um 16:57 Uhr
... weil's dann besser
del "%Aus%" 2>nul
heißen sollte - und dann ist die Ersparnis nicht ganz so groß ...

Natürlich hast Du Recht - ist halt vermutlich irgendwo im Hinterkopf eine Hemmschwelle (über die ich aber gelegentlich schon drübergekommen bin ), absichtlich einen Fehler zu verursachen (auch, wenn er einkalkuliert und "behandelt" ist).

Grüße
bastla
Bitte warten ..
Mitglied: 78632
28.05.2009 um 17:01 Uhr
Dann Ist's ja ok. Es hätte ja sein können, dass ich was nicht beachtet habe (außer 2>nul, da nehme ich es nicht so genau.)

Grüße
blablanick
.
Bitte warten ..
Mitglied: alfabravo
28.05.2009 um 18:57 Uhr
Vielen Dank, genau so hatte ich es mir vorgestellt. Funktioniert 1A.

Gruß, alfabravo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ab einen bestimmten Suchbegriff alles in eine neue Datei schreiben mittels Dos Batch
Frage von tommhiiBatch & Shell4 Kommentare

Hallo ich habe folgendes vor ich habe ein große Txt Datei da möchte ich nur die Abschluß Statistik auslesen ...

Batch & Shell
Per Batch ab einer bestimmten Stelle in einer .txt auslesen
Frage von PeterPannBatch & Shell1 Kommentar

Hallo! Folgendes Problem: Ich habe ein anmelde und abmelde Skript die wie folgt aussehen: die logdatei die daraus resultiert ...

Batch & Shell
POWERSHELL txt auslesen mit csv oder mdb abgleichen und zusammen in neue datei schreiben
Frage von loannaBatch & Shell4 Kommentare

Hallo an alle Powersheller, brauche dringend Hilfe. Muss als Notlösung ein Script schreiben welches die unten aufgeführten Dinge abfrägt ...

Batch & Shell
Dateinamen mit vbs auslesen und in eine TXT Datei schreiben
gelöst Frage von KeiosIDBatch & Shell5 Kommentare

Hallo, ich hoffe mal, das ist das richtige Unterforum. Nach diversen suchen und Hilfe aus einem Windows Scripting Buch ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 23 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...