anoniem Geplaatst: 1 september 2011 Delen Geplaatst: 1 september 2011 Ik zoek me suf, maar ik kan geen goed werkend programma vinden om een bat file en 2 vbs files te converteren naar 1 file. Het liefst exe, maar iets anders mag ook, als het maar werkt. En nee, het is NIET bedoeld om een virus aan een programma te hangen. ;) Als iemand het kan herschrijven, dat mag ook doorzoek een map en z'n submaps, zoek naar bestanden met een bepaalde tekstinhoud en met 999 extensie. Als je deze vind, sla dan de eerste regel van het tekstbestand op. 1.bat [quote:bad03825a2]findstr /s /i /b "GLOBE_ORIGINELE_NAAM : *.pplg_v" *.route_v999 > txt.txt[/quote:bad03825a2] Maak de tekstfile routefileversies opnieuw aan 2.vbs [quote:bad03825a2]Option Explicit Dim objFSO, objFSOText, objFolder, objFile Dim strFile strFile = "routefileversies.txt" ' Create the File System Object Set objFSO = CreateObject("Scripting.FileSystemObject") ' -- The heart of the create file script '----------------------- 'Creates the file using the value of strFile on Line 11 ' ----------------------------------------------- Set objFile = objFSO.CreateTextFile(strFile) Wscript.Quit[/quote:bad03825a2] strip alle regels die je in txt.txt vind tot op de laatste 15 karakters en plaats deze in routefileversies.txt. Delete vervolgens txt.txt 3.vbs [quote:bad03825a2]Option Explicit Dim objFSO, strTextFile, strData, strLine, arrLines Dim objFileSystem, objOutputFile Dim strOutputFile, MyString CONST ForReading = 1 '================================= Dim objFSOText, objFolder, objFile Dim strDirectory, strFile '====================================== 'name of the text file strTextFile = "txt.txt" 'Create a File System Object Set objFSO = CreateObject("Scripting.FileSystemObject") 'Open the text file - strData now contains the whole file strData = objFSO.OpenTextFile(strTextFile,ForReading).ReadAll 'Split the text file into lines arrLines = Split(strData,vbCrLf) Const OPEN_FILE_FOR_APPENDING = 8 ' generate a filename base on the script name strOutputFile = "routefileversies.txt" Set objFileSystem = CreateObject("Scripting.fileSystemObject") Set objOutputFile = objFileSystem.OpenTextFile(strOutputFile, _ OPEN_FILE_FOR_APPENDING) 'Step through the lines For Each strLine in arrLines MyString = Right(strLine,15) objOutputFile.WriteLine(MyString) Next objOutputFile.Close 'Cleanup Set objFSO = Nothing ' delete Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile("txt.txt") [/quote:bad03825a2] Quote Link naar reactie
anoniem Geplaatst: 3 september 2011 Auteur Delen Geplaatst: 3 september 2011 Dat kan niet: Een bat bestand is gewoon een soort van dos scriptje. Je kan dat niet combineren met c++ code. Wat je wel kan doen is de code schrijven die hetzelfde doet als in je bat bestand, vervolgens compileer je dat en heb je netjes 1 exe bestand :) Helaas is mijn c++ kennis niet zo top, ,maar ik zou even googelen. Wellicht komt dit al in de buurt: http://www.linuxquestions.org/questions/programming-9/c-list-files-in-directory-379323/ en moet je alleen nog even de extensie check toevoegen.. Gaat dat lukken? Quote Link naar reactie
anoniem Geplaatst: 3 september 2011 Auteur Delen Geplaatst: 3 september 2011 Ik heb geprobeerd om alle 3 te converteren naar exe en dan samen te voegen, maar dat converteren wil maar niet lukken. geen enkel geschikt gratis programma gevonden. C++ gaat me boven m'n pet. Quote Link naar reactie
anoniem Geplaatst: 3 september 2011 Auteur Delen Geplaatst: 3 september 2011 Zou je niet een bat kunnen maken waarin je een voor een de andere bat en vbs laat runnen... Heb je toch alles "onder één dak"... Quote Link naar reactie
anoniem Geplaatst: 3 september 2011 Auteur Delen Geplaatst: 3 september 2011 Leg eens precies uit wat je wilt doen, even links naar voorbeeld bestanden en wat er precies in die bestanden staat en wat eruit gehaald moet worden. misschien draai ik dan in c# even snel wat in elkaar. Quote Link naar reactie
anoniem Geplaatst: 4 september 2011 Auteur Delen Geplaatst: 4 september 2011 In vb kan je gewoon dos aanspreken, dus ik denk dat dat met c++ dan ook moet kunnen. Quote Link naar reactie
anoniem Geplaatst: 24 september 2011 Auteur Delen Geplaatst: 24 september 2011 Ik heb het nu in VB6 gemaakt. Heeft wel de nodige inspanning gekost (VB6 leren bijvoorbeeld), maar ik heb nu wat ik hebben wilde. :D Quote Link naar reactie
anoniem Geplaatst: 25 september 2011 Auteur Delen Geplaatst: 25 september 2011 Mooi om te horen, zo is idd het beste :) Quote Link naar reactie
anoniem Geplaatst: 25 september 2011 Auteur Delen Geplaatst: 25 september 2011 Dat is nou doorzetten. Quote Link naar reactie
anoniem Geplaatst: 26 september 2011 Auteur Delen Geplaatst: 26 september 2011 Dank jullie wel. Mijn collega's zijn er ook blij mee, scheelt ze een hoop tijd en muisklikken. Eerst moest elke submap afzonderlijk geopend worden en dan ook nog eens de txtfile openen om het versienummer te zien. Nu doet mijn programmaatje het (veeeel sneller :wink: ) Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen