[VBScript] Tekstbestanden samenvoegen

Pagina: 1
Acties:
  • 626 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Cai
  • Registratie: December 2001
  • Laatst online: 11-04 09:13
Situatie:
Op een server worden elke nacht automatisch tekst bestanden geplaatst met de extensie .000 met een willekeurige bestandsnaam.

In Dos lieten we de tekstbestanden samenvoegen naar één bestand met behulp van het commando:
code:
1
copy *.000 week.001


Alle .000 bestanden zijn nu dus één .001 bestand.

Vraag:
Hoe doen we dit in VBscript?

het vraagstuk bestaat uit 2 delen, hoe krijg ik alle bestanden met .000 geopend terwijl ik de bestandsnaam niet weet.

Hoe voeg ik dit in één bestand samen.

Wat heb ik geprobeerd:
Met mijn (beperkte) VBscript kennis iets geprobeerd te bouwen, probleem is echter als ik op internet zoek zijn de meeste voorbeelden voor VB.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Kijk eens naar het FileSystemObject, daarmee kun je veel dingen doen (zoals een folder enumeraten) en daar kan je ook gewoon filters aan meegeven (*.000) bijvoorbeeld... daarna kun je met het File Object (dacht ik) bestanden openen en uitlezen, en uitvoeren naar een apart bestand.

Zoek eens op MSDN naar FileSystemObject :)


(Waarom wil je eigenlijk om naar VBscript ?)

[ Voor 7% gewijzigd door Alex) op 29-08-2007 10:12 ]

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Cai
  • Registratie: December 2001
  • Laatst online: 11-04 09:13
We willen van het batch bestandje af.

Heb je misschien aanbevelingen?

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Mja, eigenlijk vind ik "als het werkt is het mooi toch" een prima antwoord, dus waarom wil je van het batchbestand af? Geeft het te veel ellende ofzo? :)

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Crayne
  • Registratie: Januari 2002
  • Laatst online: 17-03 13:41

Crayne

Have face, will travel

Alex) heeft je al in de juiste richting gezet. Schrijf eerst gewoon voor jezelf uit in pseudocode welke stappen je zou moeten nemen en zou je al een heel eind moeten kunnen komen met de documentatie op MSDN.

[ Voor 21% gewijzigd door Crayne op 29-08-2007 10:24 ]

Mijn Library Thing catalogus


Acties:
  • 0 Henk 'm!

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 22-09 13:54

sopsop

[v] [;,,;] [v]


Acties:
  • 0 Henk 'm!

  • Cai
  • Registratie: December 2001
  • Laatst online: 11-04 09:13
Gelukt,

bedankt voor de inbreng.

Voor het archief de oplossing:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Set fso = CreateObject("Scripting.FileSystemObject")
set mainfolder=fso.GetFolder(".")
Set filecollection = mainfolder.Files
set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set objfileOut=fso.OpenTextFile ("merged.001",2,true)
init=false

For Each fileList In filecollection

If fso.GetExtensionName(fileList.Path)="000" Then
b= fso.GetFilename(filelist.path)  
 Set ts = fs.OpenTextFile(b, 1)
   s = ts.ReadALL

objfileOut.Write s
objfileOut.Write VbCrLf
ts.Close
End If
Next

Acties:
  • 0 Henk 'm!

  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 19-08 14:24

ZaZ

Tweakers abonnee

En wat is nu het voordeel t.o.v het batch bestandje? Of hadden jullie gewoon op het werk even niets meer te doen :P

Lekker op de bank


Acties:
  • 0 Henk 'm!

  • Cai
  • Registratie: December 2001
  • Laatst online: 11-04 09:13
Ik werk op detacheringsbasis bij de opdrachtgever, dus het niet uit oogpunt van verveling, maar meer om na de samenvoeging andere applicaties aan te roepen en gebruik te maken van functies die een batch script niet ondersteund.
Pagina: 1