[Windows Scripting Host] Dir2Doc.vsb uitbreiden?

Pagina: 1
Acties:
  • 53 views sinds 30-01-2008

  • Cergorach
  • Registratie: Mei 2000
  • Laatst online: 19-08 20:37
Goede middag,
Ik weet niet zeker of dit hier wel thuis hoort of onder het Windows forum.

Mijn probleem is simpel, ik zou graag een simpele manier willen hebben om de inhoud van mappen in Windows in een text bestand te zetten. Onderstaand script (uit de Ct') helpt hier een hoop, maar wat ik graag zou willen zien is een uitbreiding hier op zodat alle onderliggende folders ook meteen worden gedocumenteerd. Ik heb de afgelopen paar uur al wat rond gekeken, maar heb niet echt iets zinnigs kunnen vinden. Voordat ik ga experimenteren (en vast en zeker weer een heleboel dingen stuk maak) zou ik graag willen weten of dit überhaubt wel mogelijk is met de Windows Scripting (Host). En als iemand al en ideetje heeft hoe het zou moeten zou ik het natuurlijk ook graag willen horen.

Alvast bedankt voor het meedenken,

Mr.C
' ****************************************************************
' Functie: Schrijft de inhoudsopgave van een
' gedropte map in een nieuw Word-document.
'
' Vereist: - Windows Scripting Host 2.0
' - Word ab Version 97
'
' Copyright (C) 2001 Ralf Nebelo
' ****************************************************************

Option Explicit

Dim objFS
Dim objFolder
Dim objWD
Dim objSubFolder
Dim objFile
Dim intCount
Dim lngSize

'Word-constanten
Const wdAlignTabRight = 2
Const wdAlignTabLeft = 0
Const wdTabLeaderDots = 1
Const wdTabLeaderSpaces = 0


On Error Resume Next

Set objFS = WScript.CreateObject("Scripting.FileSystemObject")

Set objFolder = objFS.GetFolder(WScript.Arguments(0))
If objFolder Is Nothing Then
MsgBox "Geen map gedroppt.", vbInformation, Wscript.ScriptName
WScript.Quit
End If

Set objWD = WScript.CreateObject("Word.Application")
If objWD Is Nothing Then
MsgBox "Word kan niet gestart worden.", vbInformation, Wscript.ScriptName
WScript.Quit
End If

With objWD
.Visible = True
.Documents.Add

With .Selection
.TypeText "Inhoud van " & objFolder.Path & vbCR

With .ParagraphFormat.TabStops
.ClearAll
.Add objWD.CentimetersToPoints(0.5), wdAlignTabLeft, wdTabLeaderSpaces
.Add objWD.CentimetersToPoints(7), wdAlignTabLeft, wdTabLeaderDots
.Add objWD.CentimetersToPoints(12), wdAlignTabRight, wdTabLeaderDots
.Add objWD.CentimetersToPoints(16), wdAlignTabRight, wdTabLeaderDots
End With

For Each objSubFolder In objFolder.SubFolders
.TypeText vbTab & UCase(objSubFolder.Name) _
& vbTab & "<Map>" _
& vbTab & FormatNumber(objSubFolder.Size, 0, , , True) & " Bytes" _
& vbTab & objFolder.DateLastModified & vbCR
intCount = intCount + 1
lngSize = lngSize + objSubFolder.Size
Next

For Each objFile In objFolder.Files
.TypeText vbTab & LCase(objFile.Name) _
& vbTab & vbTab & FormatNumber(objFile.Size, 0, , , True) & " Bytes" _
& vbTab & objFile.DateLastModified & vbCR
intCount = intCount + 1
lngSize = lngSize + objFile.Size
Next

.TypeText intCount & " item(s), " & FormatNumber(lngSize, 0, , , True) & " Bytes"
End With
End With
c't - Magazine voor computertechniek

Uitgeverij F&L Technical Publications
Graafseweg 274
6503 CH Nijmegen

De in dit archief aanwezige software is auteursrechtelijk beschermd.
Het gaat dus niet om Public-Domain-software. Ze is niet bestemd voor
de handel. In het algemeen is voor het begrijpen en de ingebruikname
van de software het daarbij in c't gepubliceerde artikel noodzakelijk.
Wij kunnen geen hulp bieden als het overeenkomstige artikel bij de gebruiker
niet bekend is.

U heeft toestemming om dit archief in datanetwerken te kopieren en delen daarvan
aan gebruikers ten download aan te bieden als u voldoet aan de volgende
voorwaarden:

1. Voor de gebruiker mogen naast de gebruikelijke kosten van online zijn, geen
extra kosten ontstaan.
2. De gebruiker moet geinformeerd worden over de oorsprong van de software, d.w.z.
bij de download moet een *duidelijke* verwijzing naar de website van c't staan.

LINK: www.fnl.nl/ct-nl/

  • Cergorach
  • Registratie: Mei 2000
  • Laatst online: 19-08 20:37
Anybody, anybody, anybody...

*quote from ferris Beuler's day off*

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

misschien kun je beter zoeken naar het filesystemobject. Dit object kun je gebruiken om directories vanuit vbscript (dus ook WSH) uit te lezen.
Ook kun je txt bestanden schrijven met dit object...

edit:
interessant linkje?

kaart != map && bottel != fles
Wacht op antwoord


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

OJ, script request, helemaal over het hoofd gezien de eerste keer.

Hier kadootje.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Dit topic is gesloten.