Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 3305 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Batch & Shell
gelöst Variable aus ini Datei auslesen und weiterverwenden (17)

Frage von n0cturne zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...