It means, "for parameter i, extract the name part of the path (i.e. the
filename minus the extension). So, if %i = "C:\sgml\foo.sgml", %~ni = "foo".
There are all sorts of variants of this to grab different parts of the file
path from a parameter in a batch file. %~di gives the drive letter, %~pi
gives the path (not including the drive or the filename), %~xi gives the
extension, etc. You can also combine them, e.g. %~dpi gives the drive letter
and path of the file (without the filename).
To see all the possible options, open a command prompt window in Windows and
type "help for", then scroll down to the end of the help file.
--Clay (whose DOS knowledge reveals his age)
Clay Helberg
Senior Consultant
TerraXML