Copyright © 2003- by Prof. Timo Salmi  
Last modified Fri 17-Nov-2017 14:03:43

Welcoming the user from
On Sun 19-Nov-2017 23:42:41 server time

0000317 Counting since 12-Feb-2011
Timo Salmi on Twitter

Assorted NT/2000/XP/.. CMD.EXE Script Tricks
The html version of the tscmd.zip 1cmdfaq.txt file
A description and the index

These pages are an HTML-version of the 1cmdfaq. txt faq-file contained in my tscmd.zip command line interface (CLI) collection. That zipped file has a considerable number of additional .cmd script files. It is recommended that you also get the zipped version as a companion.

The major difference of this html version is that this page was started during the Thu 6-Mar-2008 version 46a with years of hindsight of building up the FAQ items since Fri 28-Nov-2003. A few of the items are therefore slightly differently written, in particular utilizing the illustrative possibilities of the HTML-code.

Description: These pages contain my assorted cmd.exe script tricks for Windows NT/2000/XP/.. . The items are in no particular order. There is some overlap in some of the items.

Web pages or any other reproduction: These pages are copyrighted ©. No part of this material, nor its index, nor the entire contents may be reproduced (in any language) on any other World Wide Web pages or in any other electronic, physical or similar manner.

Quoting: However, you are free to quote brief passages from this page or to post links to the items in your messages and Usenet news postings provided you clearly indicate the source.

Asking for programming advice: Simply put, no personal support. Requests for programming advice should not be emailed to the author. Such requests are rejected. I can't afford the time and effort of giving free emailed consultation. If you have NT/2000/XP/Vista/Windows7/8/... cmd script questions, related or unrelated, rather post them to the alt.msdos.batch.nt Usenet newsgroup. (Don't forget to define your OS.).

Submitting: Contributions on the net are acknowledged further down on this page. Note, however, that submissions of outside items to this collection are not invited. This basically is my own collection, not an open repository.

Caveats: The scripts in this FAQ have been tested on a Windows XP [Version 5.1.2600] Professional Edition, SP2, system (SP3 since September 2008). A few of the scripts have also been tested on 64-bit Windows 7 since 2014 and Windows 10 since 2017. There is no guarantee that all the solutions are fully backwards, or forwards, compatible. Where relevant, the date/time format assumed is "31.01.2005 14:12:18". In other words, the order is dd.mm.yyyy, the date separator is ".", the timefields separator is ":" and, in particular, the 24-hour format is assumed. For more on caveats see 1cmdfaq.txt

Disclaimer: The author shall not be liable to the user for any direct, indirect or consequential loss arising from the use of, or inability to use, any information, program, script or file howsoever caused. No warranty is given that the scripts, the programs or the advice given will work under all circumstances. You use everything at your own risk.

The index of the FAQ items

1} How to get today's date elements into environment variables?
2} On Windows XP how do you stop the script files from closing?
3} How can I customize the Command Prompt Window with script commands?
4} How can I test is it on MSDOS/Win3..9x/Me or NT/2000/XP?
5} How do I get a fully qualified path name of my script?
6} How does one get yesterday's date?
7} How can I test if two files agree in size and datetime stamp?
8} How do I find all the files made at or after YYYYMMDD HHMM?
9} How can I suppress script error messages altogether?
10} How can I change the environment variable values within a FOR loop?
11} How do I retain my original code page in these scripts?
12} How can I rename all my .JPG files sequentially in a folder?
13} How do I get the current day of the week? (Or yesterday?)
14} Help! My old batch files won't work since there is no choice.com
15} Is it possible to echo without linefeed like the Unix echo -n?
16} How can I get the time without having to press enter?
17} How can I avoid the potential "ECHO is off." in echoing %myvar%
18} How does one build re-usable script function modules? [This FAQ's list]
19} How can one build a delay / sleep / wait procedure for a script?
20} Is is possible to right-justify numbers or words in a script?
21} Do you have pointers to additional script material and tips?
22} How do I capture the current folder name into a variable?
23} How do I get the n'th, the first and the last line of a text file?
24} How do I get the m'th item on the n'th line of a text file?
25} How can I quote with e.g. "> " an entire message?
26} How do I get the length of a string into a variable?
27} How can I remove all the blank lines from a text file?
28} How to convert a file written in IBM PC characters into LATIN1?
29} How do I drop the first two characters of a string, and so on?
30} Can one calculate the difference between two times in a script?
31} How many days ago was 31.12.2003? What date was it 100 days ago?
32} How can I convert a decimal number to binary, octal, hexadecimal?
33} How can I convert a binary, octal, hexadecimal into a decimal?
34} How can I remove the quote characters from a line?
35} How can I substitute the second field on each line of my file?
36} I start a program from my script and it hogs my command window.
37} How can I insert a line in the middle of a file with a script?
38} How can I set and test the errorlevel within a script file?
39} Is there a subroutine to convert a variable into uppercase?
40} How to get the number of and parse the arguments given to a script?
41} How can I create a zero-byte file? How do I test for it?
42} What is the subroutine for testing a filename for wildcards?
43} Is there a way of counting the number of files in a folder?
44} How do I get the first 68 columns from a text file?
45} How can I find out how many days old a file is?
46} Is a program available in the default folder or at path?
47} Is it possible to echo the redirection symbol in a script?
48} Why do some comment lines cause errors? What can I do about it?
49} I need to reverse a text file. How do I do that fairly quickly?
50} How do I get the position of a substring in a string?
51} How can I echo lines in different colors in NT scripts?
52} How can I enter a password into a variable without echoing it?
53} How can I quietly test if a disk device is ready or not?
54} How can I get the type of a disk device?
55} How to get the creation, last modified and last access of a file?
56} How to find and move more recent files from one folder to another?
57} How do I get a list of all my empty folders on c:\ ?
58} How do I best combine two quoted arguments into one quoted string?
59} How do I find if a folder exists? How about visible files in it?
60} How do I delete all but most recent 20 files in a folder?
61} How can one devise a command line calculator?
62} How can I compare within a script if two files are identical?
63} How to perform a command on each line of a file as an argument?
64} How to count the number of lines in a file, empty lines inclusive?
65} How do I add text in front and after each line in a text file?
66} How can I delete all the hidden Thumbs.db files from my system?
67} Is it possible to send a script variable value to the clipboard?
68} How can I test if a program already has been loaded?
69} How do I get the first, or the last, 400 lines of a file?
70} Calendar: What weekday was December 31, 2004?
71} How can I reboot my computer from a command line script?
72} Is it possible to use quotes as delims in for loops?
73} How can I convert a hexadecimal string into an ASCII string?
74} How can I compare two numbers that have decimals with IF?
75} How do I detect if an object is a file or a folder?
76} How do I create an empty file? How can I detect the empty files?
77} How do I list the files in \All Users\Desktop in the short format?
78} Is it possible automatically to record my logon times into a file?
79} How can I trim leading and trailing spaces?
80} How can I extract the last part of a path such as C:\ABC\DEF\GHI\?
81} Is there a script to capitalize all the words in a text file?
82} Why does echo 9>temp.txt fail while echo 10>temp.txt works?
83} How to archive files with a rotation of five latest generations?
84} How can I automate downloading files from an ftp-site?
85} How to test if a folder contains any files with long names?
86} How to put each line of a text file into an environment variable?
87} How can I create a four-digit random string?
88} How to convert DEC to HEX with a script file, and vice versa?
89} All of a sudden "echo." doesn't work any more. What's wrong?
90} How do I get the most recent file within a directory structure?
91} How do I get command-line reference help?
92} How do I play a sound or a tune from the command line?
93} How do I check if my script was given a parameter?
94} Can I send the script's output both to the screen and a log file?
95} How to perform an operation on all the filenames listed in a file?
96} Can one use a script to columnize a comma separated values file?
97} I need to remove duplicate entries from the output or a file.
98} How do I equate all zip files with the date of their latest file?
99} How do I "touch" a file to update its last modified datestamp?
100} How can I identify and copy the five latest files from a folder?
101} How to capture Volume Serial Number into an environment variable?
102} How can I extract the individual bits from a decimal byte?
103} How do I exit a loop by pressing a key?
104} How can one remove double quotes from a script variable?
105} How to detect whether or not a folder contains hidden files?
106} How to test whether a variable is a non-negative integer?
107} How to do non-trivial renaming such as IMG*.jpg to IMG_*.jpg?
108} How can I execute a script one line at a time to debug it?
109} How do I open e.g. three separate instances of notepad at one go?
110} Can I use a script to determine if a specific printer exists?
111} How can I detect if a folder is shared or not?
112} Help, an old program fails to run since I have no floppy drive.
113} How do I find all *.TXT files on the C: drive sorted by size?
114} How do I pick a file's lines that are three characters long?
115} How can I decompose the path to be one folder per line?
116} How do I get a list all the *.BAT files which are at path?
117} Is it possible to get the physical memory from the cmd?
118} How to handle irregular empty fields of a CSV file?
119} How can I remove any leading zeros from an unsigned integer?
120} How do I use AND/OR/XOR/NOT operators in an IF statement?
121} How do I make a simple reminder to pop up on the desktop?
122} How to list files present in folder A but not in folder B?
123} How to test if a file is in a folder or below two or more times?
124} How do I find files which do NOT contain the search string?
125} How do I get the age of a file? Or of the files in a folder?
126} How do I grep for a line with a tab?
127} How can I pad leading zeros or like to a variable?
128} How to prevent SET /P input from entering the command history?
129} Is it possible to stop and reset the print spooler with a script?
130} How do I find and delete files which contain a specific text?
131} How to get the language of Windows XP in a script?
132} How to find out the next weekday given today's?
133} How do I get the current IP address, number and name?
134} How do I advance the dates of my certain JPG files by one year?
135} How do I get information about a file extension association?
136} How do I find out when my PC was last booted?
137} I need to resize a group of images from the command line.
138} How can I get the long name of a short-named file or folder?
139} How do I convert UNIX newlines to PC eolns? And vice versa?
140} How do I count how many times a word appears in my text file?
141} Why isn't the ! character always echoed as expected?
142} How to extract the filename from the end of an URL reference?
143} How do I get the current time zone in a script?
144} How do I parse the items from a path like C:\a\b\c\d ?
145} How to find out if WinXP SP2 is installed via a script?
146} Using delayed expansion for giving variable values as arguments
147} What was the time 100 minutes ago?
148} How to calculate the day-of-year number with a pure cmd script?
149} How to calculate a date's week number with a pure cmd script?
150} How can I extract the http and ftp URL:s from an HTML file?
151} Extract the lines of a text file from between two marker-lines?
152} How can I remove all !:s and &:s from a text file with a script?
153} How do I test if my Internet connection to an IP is working?
154} How do I remove leading zeros from a string with script only?
155} How can I use command-line to open a Windows Explorer window?
156} How does one create a shortcut using the command-line?
157} How to get the count of words and the last word of a variable?
158} Why won't the statements within my if condition work properly?
159} How do I test that a name does not contain lowercase letters?
160} How do I get a list of all my folders with and sorted by size?
161} How do I test that the Windows Script Host is available?
162} Finding duplicate filenames in a directory tree.
163} How do I test and ensure that <CR><LF> is the last char (pair) of my file?
164} How to concatenate (join/paste side by side) two files?
165} How do I get the date and time separators and the local formats?
166} Substituting spaces with underscores in a folder's file names.
167} How do I find out who is logged on the system?
168} How do I invoke Safely Remove Hardware using a cmd script?
169} How to set the time server from cmd and how to synchronize the clock?
170} How do I get the total size of a volume, not just the available space?
171} How do I get a list of all the PC's folders with the attributes indicated?
172} How to change and restore the title bar text of the command prompt?
173} How do I get the original GUI path since CLI's may be changed?
174} How to write a script to launch a URL invoking the default browser?
175} How do I get the current video display resolution?
176} How to get the rest of the command line parameters?
177} How can I retrieve the target of a shortcut into a variable?
178} How does one plug files' modified date/time into a set of file names?
179} How to replace an asterisk "*" in an environment variable?
180} I want to exit my script if it already has been run today.
181} How do I get the IP-names for a logfile containing the IP-numbers?
182} How do I protect a script, e.g. for a safe access of user passwords?
183} How do I get the fileurl of a local filename?
184} How do I map a network drive from the command line?
185} How to get DIR wildcards match long file names only?
186} How to list folders which have files with % ! & or ^ in the names?
187} Is the batch file called on a 32-bit or 64-bit system?
188} How can I send email or newsgroup messages from the command-line?
189} How do I test if the current user has administrator rights?
190} How can I rotate a photo on Windows 10 despite its Explorer problems?
300} A Miscellaneous Collection of Reusable Command-line Programming Modules

Embedded e.g.:
 What is the syntax for returning a variable's value by a script subroutine?
 Scandinavian characters' conversion
 Detab a file
 How do I get the line number of a string in a datafile?
 How do I delete the first n lines of a file?
 A number converter bewteen binary. octal, Decimal and Hexadecimal
 How to capture a volume's label into an environment variable?
 How do I delete files older than x days with a command line script?
 A VCFcutter solution for a smartphone contact list

An important note to Garbo repository users: The workstation hosting the Garbo repository at the University of Vaasa, Finland has broken down during 2012. The university's Computer Centre has informed me that it will not be replaced. Thus all the potentially remaining direct references to the utilities at Garbo in this FAQ are out of date.

However, tscmd.zip continues to be available, now at a private ISP address. You may freely download it for your own, private purposes. But contrary to some past Garbo exceptional arrangements, I do not give permissions to mirroring, that is carrying my materials for downloading at other locations. (I am retired, fully served, since September 2011. I now say routinely no to all requests.)

Additional utilities: Two very common external auxiliary programs are used in a few of the solution versions presented. It is highly recommended anyway that you obtain the following utilities: (Note, I mostly use the older GAWK and SED versions in the FAQ):

SED.EXE Stream Editor
  20368 Oct 1 1991 sed15x.zip
  HHSED executable, E.Raymond+D.Kirschbaum+H.Helman
For 32-bit
  15495 Oct 28 1998 sed15exe.zip
  MS-DOS HHsed, compliant with Windows 32-bit, H.Helman
  GnuWin32 Sed for Windows
  UnxUtils [2] at SourceForge.net
  44661 Feb 11 2005 ssed362.zip
  Super-sed enhanced stream editor, Paolo Bonzini

GAWK.EXE A Pattern Scanning and Processing Language
  233923 Mar 25 1995 gawk2156.zip
  GNU awk text scanning and processing language
For 32-bit
  878915 Oct 25 2003 UnxUpdates.zip (see, however, an availability note [M] [T])
  Updates for UnxUtils GNU utilities for native Win32
  GnuWin32 Gawk for Windows
  UnxUtils [2] at SourceForge.net
  (Rename to unxgawk.exe and unxsed.exe for this FAQ, when indicated.)
Be forewarned. If you use a different GAWK (or SED) versions the syntax requirements may slightly differ. See the example in item #6.

A few words about the philosophy of using gawk and sed solutions:
  Google Groups Aug 29 2002, 8:43 am [M]
  Google Groups Apr 16 2005, 5:00 pm [M]
However, some of these tricks might arise in a multi-user setting where it is best to assume that only the native commands are available. Therefore, the usage of any extra tools is avoided as the only option as much as reasonable.

Visual Basic Script [2] [3] [4] can be used to solve some, if not most of the scripting problems. The same goes for QBASIC [2]. However, not all the items which could have been solved with Basic aided command line scripts include the option. This is above all CMD. EXE scripting FAQ, not a VBS or QBASIC FAQ.

Furthermore, there are a number of utilities of my own and further scripts included in the tscmd.zip package.

tscmd.zip Script file collection, T.Salmi
Filename        Comment
--------        --------------------------------
1CMDFAQ.TXT     NT/w2k/XP script tricks and tips  <-- This is an old version of the FAQ
CHOOSE.EXE      Ask questions in script files
CMD1DEMO.CMD    A CMD syntax selection demo
CMD2DEMO.CMD    A 2nd CMD syntax selection demo
COLORMAP.CMD    Display ECHOC.EXE color map
COMPFOLD.CMD    Compare contents of two folders
DATE2NUM.EXE    Date into a Julian date number
DATEG.CMD       Put date parts into environment
DATEINFO.CMD    Display date related information
DATET.CMD       Put date parts into environment
DELE.CMD        Recoverable command-line delete
ECHOC.EXE       Echo in colors
EDATE.CMD       Some alternative date formats
FILEAGE.CMD     Find out how old a file is
FILEINFO.VBS    FileInfo Visual Basic Script
FILE_ID.DIZ     Brief characterization of TSCMD
FINDTMP.CMD     Find and list all the .TMP files
FULLNAME.CMD    Display the full name of a file
GDATE.CMD       Display alternative date formats
GETFDATE.CMD    Get a file's date/time stamp
MAILDATE.CMD    Build a message's "From" header
MAKEPASS.CMD    Make a randomized password
M_TSCMD.CMD     Makefile that built this package
NAMEDOWN.CMD    Covert a filename to lower case
NAMEUP.CMD      Covert a filename to upper case
NUM2DATE.EXE    A Julian date number into a date
QP2DOS.CMD      Encode quoted printable into DOS
RECENT.VBS      Search folders for recent files
RULER.BAT       Pinpoint screen columns and rows
SAMENAME.CMD    Find same name files in folders
TSCD.CMD        Current folder in long and short
TSCMDIDX.TXT    The questions index separately
TSCMDINF.TXT    Document (a readme) for TSCMD
TSCMDNWS.TXT    News about the TSCMD package
TSPROG.TXT      List of programs from Timo Salmi
UPTIME.CMD      Uptime since the last boot
WAKEUP.CMD      A reminder desktop alarm clock
WEXE2ZIP.CMD    Conv self-extracting exe to zip
WHEREIS.CMD     Find a file anywhere on a drive
WHOISME.CMD     Get IP and user information
XPMOVE.VBS      Move newer files between folders
----            ------             ------  -----

Calendar issues: A number of date-related items and routines are involved. Date-related standards and calculations can be quite involved. Therefore, not all the refinements are fulfilled in the strictest sense. To give one example, one item is about the date a certain number of days ago. The effect of a potential daylight saving time ("summertime") shift is ignored. Thus the result might be off by one day near the midnight under special circumstances. Likewise, timezone differences are ignored. A reader requiring more accurate knowledge is referred to the web pages by Dr. John Stockton which can be found by starting at http://www.merlyn.demon.co.uk/index.htm#dat

Contributors: A FAQ-like collection always is more or less a product of collective knowledge. The initial origins of many of the ideas are often ambiguous and may have been discovered separately by several authors. Thus a collective thanks for the NT/2000/XP/.. scripting community is in order. Furthermore, at least the following individuals (and a number of knowledgeable non-listed posters using aliases) have either directly contributed to or otherwise knowingly or unknowingly influenced the contents of this FAQ in a positive manner:

  Allen, William
  Ballenger, Si
  Beckermann, Carsten
  Briscoe, Walter
  Brown, Ralph
  Calvert, Clay
  Davis, Ted
  Dunbar, Al
  Dye, Charles
  Grove, Harlan
  Hardy, Steve
  Kasal, Stepan
  Kleebauer, Herbert
  Lavedas, Tom
  Lawrence, Ritchie
  Meinhard, Klaus
  O'Regan, John
  Plumeyer, Henning
  Prins, Robert
  Robyn, Phil
  Said, Marco Maier
  Sergeev, Andrey
  Smith, Gary L.
  Smith, Paul
  Stockton, John
  Stewart, Bill
  Suhovey, Alexander
  Tacke, Matthias
  Takashi, Ootani
  Vargo, Todd
  Westlake, Frank

  hh ntcmds.chm::/ntcmds.htm
  hh ntcmds.chm::/ntcmds_shelloverview.htm (Including predefined environment variables)
  hh ntcmds.chm::/percent.htm
  Command-line reference A-Z Windows XP TechCenter
  Command shell overview Windows XP TechCenter
  Script Center Microsoft TechNet
  VBScript Microsoft Developer Network
  Windows Script 5.6 Documentation
  Useful one-line scripts for sed
  Handy one-liners for awk
  alt.msdos.batch.nt Google Groups
  Command line interface - Wikipedia
  GNU utilities for Win32

Some keywords:
  >>"%filename%" echo 2 3 4 5
  2>&1 2 3 4 5 6 7 8 *
  %~1 2
  %* 2 3 4 5 6 7
  %~$PATH:f 2 3 4
  1* 2 3 4 *
  1,* 2 3
  %%~nxf 2 3 4 5 *
  %%~tf 2 3
  %% *
  && and || 2 3 4 5 6 7 8 9 10 11 12 * *
  () 2 3 *
  +=1 2 3 4 *
  %RANDOM% *
  AT *
  ATTRIB 2 3 4 5 *
  Bitwise operations
  CALL 2 3 4 *
  CALL SET 2 3 4 5
  CMD /c 2 *
  CMD /k 2
  COLOR 2 *
  con 2
  Comments in a script 2
  Continuing a command line 2 3 4 5 6 7 8 9
  CSCRIPT 2 3 4 5 *
  DEL 2 3 4 *
  delims= 2 3 4
  DIR /S 2 3 4 5
  ECHO 2 3 4 5 6 7 8 *
  Enabledelayedexpansion vs subroutine 2 3
  Enabledelayedexpansion and IF 2
  escape 2 3
  Environment variable setting within a FOR /F loop 2 3 4 5
  errorlevel 2 3 4 5 6 7 8 9 10 11
  errorlevel common mistakes
  eolns 2
  Expanding (i.e. the modifiers to extract the parts from a file path) 2
  File handle subtle problems 2 3 4
  FIND 2 3 4 5 6
  FINDSTR 2 3 4 5 6 7 8 9 10 11 12 13 *
  FOR loops, variables within 2
  FOR file-variable expansion 2 3 4 5 6 *
  FOR file-variable wildcards and quotes
  FOR /L 2 3 4 5
  FOR /R 2
  FSUTIL 2 3 4
  FTP *
  handle 2 3
  IF /i 2 3 4 *
  IF EXIST 2 3 4
  IF ... ELSE 2 3 4 5
  Justifying (padding) 2 3 4
  Leading zeros 2
  Lockfile 2 3
  Long file names (LFN) 2 3
  MODE 2 *
  MORE 2 3 4 *
  Multiple commands on a command line 2
  nul 2 3 4 5
  octals 2 problems with
  Parsing parameters and switches
  PAUSE 2 3 4
  Poison characters 2 3
  PING 2 *
  PUSHD/POPD 2 3 4 * *
  REG QUERY 2 3 4
  REM 2 3
  SET %n= 2 3 4 5
  SET /A 2 3 4 5 6 *
  SET /P 2 3 4 5 6
  SET /P (secondary usages) 2 3 4 5 6
  Short file names (SFN) 2 3 4 5 6
  Short folder name
  skip= 2 3 4 5
  START 2 3 4 *
  Subroutines: returning values from 2
  Substitution 2
  Substrings 2 3 4 5 6
  SYSTEMINFO 2 3 4 *
  tail 2
  tabs 2 3
  TEMP vs. mytemp 2
  tokens= 2 3 4 5 6 7 8 *
  tr 2 3 4
  Unary NOT operator ! 2
  uniq 2
  usebackq 2 3 4 5 6 6
  W32TM 2 *
  XCOPY 2 3 4 *
  zip 2 3

Some sed keywords: * *
  d 2 3
  -e 2
  -f 2 3
  -n 2 3 4
  $p 2
  \t 2
  \x 2 3 4
  $ 2
  & 2 3
  ^ 2

Some gawk keywords: * *
  BEGIN 2 3 4 5 6
  END 2
  if 2 3 4
  index 2
  length 2 3 4
  NF 2 3 4
  NR 2
  printf 2 3 4 5 6 7 8
  strftime 2 3 4 *
  substr 2 3 4 * *
  systime 2
  -F 2
  ++i 2
  \x 2 3 4

Some WSH keywords:
  And 2 *
  Asc *
  AtEndOfStream 2 3 * *
  Chr 2 3 4 5 *
  CLng 2 3 4 *
  CStr 2 3 *
  Const ForReading 2 3 4 *
  CreateObject * * *
  Date 2 *
  DateAdd 2 *
  DateDiff 2 *
  DateLastModified 2 *
  DatePart 2 3 *
  DateSerial *
  DateValue *
  Day *
  DeleteFile * *
  Dim 2 *
  Do While 2 3 4 5 *
  DriveExists 2
  Else 2 *
  Eval 2 *
  False 2 *
  FileExists *
  For 2 3 *
  For Each 2 3 4 *
  Function 2 3 4 5 6 7 8 *
  GetBaseName 2 *
  getDate (.js) *
  GetDrive 2 *
  GetDriveName 2
  GetExtensionName 2
  GetFile 2 3 4 *
  GetFolder 2 3 *
  GetObject 2 *
  getTimezoneOffset (.js) *
  Hex 2 *
  If 2 *
  InStr 2 3 *
  Int 2 3 *
  IsReady 2 *
  LCase *
  Len 2 3 *
  Mid 2 3 4 5 *
  Month 2 *
  MonthName *
  MsgBox *
  Not *
  On Error *
  OpenTextFile 2 3 *
  Or *
  Randomize *
  Read 2 *
  ReadAll * * *
  ReadLine 2 *
  Replace 2 3 4 5 * *
  Right 2 3 4 5 6 *
  Rnd *
  Round *
  RTrim *
  Scripting.FileSystemObject 2 3 4 5 *
  Select Case *
  SerialNumber *
  ShortName *
  ShortPath *
  Size *
  Skip *
  Split 2 *
  String 2 *
  Sub 2 3 *
  Time *
  Trim 2 *
  TotalSize *
  True *
  UBound *
  UCase *
  vbCrLf *
  Weekday *
  WeekDayName *
  Write *
  WScript.Arguments 2 3 4 5 6 7 8 9 10 11 12 *
  WScript.CreateObject 2 3 4 * *
  WScript.Echo 2 3 *
  WScript.Quit 2 *
  WScript.Shell *
  WScript.Sleep *
  WScript.StdIn.AtEndOfStream 2 3 *
  WScript.StdIn.ReadLine *
  WScript.StdOut.Write 2 3 *
  WScript.StdOut.WriteLine 2 3 4 *
  WshShell.Environment *
  WshShell.ExpandEnvironmentStrings 2 3 4 *
  WshShell.Run 2 *
  WshShell.SpecialFolders *

Some relevant VBS: