Click here to Skip to main content
15,884,388 members
Articles / Programming Languages / VBScript
Article

VBScript directory crawler

Rate me:
Please Sign up or sign in to vote.
4.50/5 (5 votes)
16 May 2000 127K   2.4K   30   12
A VBScript program that can recursively walk directories and also create a true working tree (good for printouts)
  • Download source files - 1 Kb

    Sample Image - walker.jpg

    This VBScript can be used in a number of ways. At its heart, it's a simple directory tree walker. I wrote it originally as a DevStudio macro to clear out all the big leftover files in the debug and release folders. I added a bit of code to it on a whim to make it to indent the subfolders and add the various lines so that in the end it looks similar to the left hand frame of explorer. This can then be piped to a file and printed (have you ever wanted to print out a directory tree? I know I have.)

    I have commented where you could put code to do things like clear out temp files, whatever.

    Enjoy :)

  • License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    Written By
    Web Developer
    United States United States
    This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

    Comments and Discussions

     
    Question23 years later and still valuable. Here's some modernization (works Server 2019, Windows 11, etc.) Pin
    Gabriel Aaron Cunningham17-Mar-23 8:40
    Gabriel Aaron Cunningham17-Mar-23 8:40 
    PraiseWell ... it still works! Pin
    RedDk21-Oct-16 9:11
    RedDk21-Oct-16 9:11 
    GeneralDocument Properties help Pin
    DangerousInkpot26-Jul-05 8:40
    DangerousInkpot26-Jul-05 8:40 
    GeneralRe: Document Properties help Pin
    Mathew Gorge Whiz27-Jul-05 21:28
    Mathew Gorge Whiz27-Jul-05 21:28 
    QuestionWhy it Fails? Pin
    dougcranston27-Feb-03 4:50
    dougcranston27-Feb-03 4:50 
    AnswerRe: Why it Fails? Pin
    Steve Merritt15-Oct-04 8:09
    Steve Merritt15-Oct-04 8:09 
    GeneralRe: Why it Fails? Pin
    dougcranston15-Oct-04 8:18
    dougcranston15-Oct-04 8:18 
    GeneralRe: Why it Fails? Pin
    Anonymous14-Sep-05 14:32
    Anonymous14-Sep-05 14:32 
    GeneralShow pictures from a dir on a html-page Pin
    20-Feb-02 0:43
    suss20-Feb-02 0:43 
    GeneralSearchinf for a particular extension using VBscript Pin
    Gnanavel9-Oct-00 20:42
    Gnanavel9-Oct-00 20:42 
    GeneralRe: Searchinf for a particular extension using VBscript Pin
    24-Nov-00 8:21
    suss24-Nov-00 8:21 
    GeneralNice! + More on scripts Pin
    Philippe Lhoste23-May-00 22:59
    Philippe Lhoste23-May-00 22:59 
    I like it, it is a nice introduction to the use of FileSystemObject with VBScript.

    I started playing with the code, here is a small patch:

    dim sf, fileColl, line
    for each sf in foldcol
    spacer = spacer + space(3) + "|"

    'wscript.echo spacer + "-- " + sf.name

    ' If you wanted to show the number of bytes, use these lines instead of above
    set fileColl = sf.Files
    line = spacer + "-- " + sf.name
    if fileColl.Count = 0 then
    wscript.echo line + " (empty)"
    else
    wscript.echo line + _
    " (uses " + cstr(FormatNumber(sf.Size, 0)) + " bytes with " + _
    cstr(FormatNumber(fileColl.Count, 0)) + " files)"
    end if

    I believe you should have no problem locating my patch in the source...
    Notice the use of '_' to continue a line (I don't know if it well documented), and the use of the Count property to have the number of elements in a collection (I couldn't locate this property in the MSDN doc!).

    Of course, you can use the fileColl to list the files or do something on them.

    Another trick for newbies like me:
    you can run the script by double-clicking on it, of course, but if you want to run it from a command line, you can either type:
    start vbscript_prog.vbs (with same result as double-clicking, ie. having each echo in a message box)
    wscript vbscript_prog.vbs (idem)
    or
    cscript /nologo vbscript_prog.vbs (with output on the standard output, so can be redirected to a file)

    Try cscript /? for more options.

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.