Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Zwei Zeilen in einer Datei auslesen und ggf. Datei löschen

Frage Entwicklung Batch & Shell

Mitglied: amurcat

amurcat (Level 1) - Jetzt verbinden

19.10.2009 um 12:25 Uhr, 3328 Aufrufe, 2 Kommentare

Hallo,

vielleicht kann mir hier jemande helfen. Ich habe ein Problem und suche ein Script. Ich habe hier schon einiges gefunden und versucht umzubauen, hab das aber irgendwie nicht hinbekommen.

Es geht um Folgendes: ich habe Dateien in denen stehen Werte zum Einlesen in eine Buchhaltungssoftware. Diese wirft aber Fehler wenn kein Vorgang auf dem Konto war. In der Datei sind dann zwei Zeilen nahezu identisch:


:20:STARTUMSE
:25:?????????????????/?????????
:28C:00000/001
:60F:C091015EUR536,82
:62F:C091015EUR536,82


Es geht um die Zeilen 60F und 62F. Wenn die EUR Werte gleich sind dann kann die Datei nicht importtiert werden. Die Werte stehen leider auch nicht immer in den gleichen Zeilen.

Gibts da ne ganz einfache Lösung, wie ich die Dateien per Batch / Script unter Windows (XP, 2003R2) aussortieren könnte?

Vielen Dank für Eure Hilfe!

Grüße

Michael / Amurcat
Mitglied: solionte
19.10.2009 um 13:31 Uhr
mit vbscript :
aber was willst du als Ergebnis
EUR536,82
dann speichere diese datei unter name.vbs und führ die aus.
'''''''''''''''''''''''
set fso = createobject("scripting.filesystemobject")
set file = fso.getfile("C:\Dokumente und Einstellungen\User\Desktop\quelle.txt")



set datei =fso.opentextfile("C:\Dokumente und Einstellungen\User\Desktop\ziel.txt",8,true)


set stream = file.openastextstream(1) 'datei zum lesen öffnen

do
stream.skip(12) 'erste 12 Zeichen überspringen
line = stream.Readline

if instr(line,"EUR") then datei.Writeline line 'holt die Zeilen mit EUR

loop while not stream.atendofstream

stream.close
datei.close
msgbox "Fertig"
Bitte warten ..
Mitglied: colinardo
19.10.2009 um 14:31 Uhr
Folgendes Script durchsucht in einem angegebenen Verzeichnis alle Dateien nach deiner doppelten Zeichenfolge "EUR" egal in welchen Zeilen sie stehen.Es vergleicht dazu alles was hinter "EUR" steht. Zum Schluss kommt eine Abfrage ob du die entsprechenden Dateien in einen Unterordner verschieben willst.
Anpassen musst du die Variable "rootFolder" für das Verzeichnis in dem die Dateien liegen.

VBS-Script:
01.
set objFS = CreateObject("Scripting.FileSystemObject") 
02.
set rootFolder = objFS.GetFolder("C:\Test") 
03.
set files = rootFolder.files 
04.
dim array_selected_files() 
05.
count = 0 
06.
for each file in files 
07.
	dim already_found, first_amount 
08.
	set objFile = objFS.OpenTextFile(file.Path, 1) 
09.
	Do While objFile.AtEndOfStream <> true 
10.
		line_text = objFile.ReadLine() 
11.
		if InStr(1,line_text,"EUR") > 0 then 
12.
			if already_found = true Then 
13.
				if Trim(Mid(line_text, InStr(1,line_text,"EUR")+3,Len(line_text))) = Trim(first_amount) Then 
14.
					ReDim Preserve array_selected_files(count + 1) 
15.
					array_selected_files(count) = file.Path 
16.
					count = count + 1  
17.
				End if 
18.
			Else 
19.
				first_amount = Mid(line_text, InStr(1,line_text,"EUR")+3,Len(line_text)) 
20.
				already_found = True 
21.
			End if 
22.
		End if 
23.
	 Loop 
24.
	 objFile.Close 
25.
	 already_found = False 
26.
	 first_amount = "" 
27.
 Next 
28.
 
29.
if count > 0 then 
30.
	if msgbox ("Es wurden "& count & " Dateien gefunden sollen sie nach '" & rootFolder.Path & "\Aussortiert\' verschoben werden?: ", 36) = 6 Then 
31.
		for i = 0 to Ubound(array_selected_files) - 1 
32.
			set objFile = objFS.GetFile(array_selected_files(i)) 
33.
			If objFS.FolderExists(rootFolder & "\Aussortiert") Then 
34.
				objFile.Move(rootFolder & "\Aussortiert\") 
35.
			Else 
36.
				objFS.CreateFolder(rootFolder & "\Aussortiert") 
37.
				objFile.Move(rootFolder & "\Aussortiert\") 
38.
			End If 
39.
		Next 
40.
		Wscript.echo "Fertig!" 
41.
	End if  
42.
Else 
43.
	wscript.echo "Keine entsprechenden Dateien gefunden!" 
44.
End If
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Komplette Zeile aus Textdatei auslesen (3)

Frage von tegwert zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Entwicklung
gelöst Zeile in CSV löschen (3)

Frage von Alex1809 zum Thema Entwicklung ...

Batch & Shell
Batsch doppelte Zeile in in Text finden und eine löschen (10)

Frage von GNLen1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(2)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(4)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(8)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (37)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...