You can view/download it here..

These expand a bit what can be done with native NB commands. I normally like to attribute the original source of these but I didn't record them. Suffice it to say, we are indebted to the work of others (and they often got their samples from Microsoft's TechNet for VBS scripts).
Rename/Move/Copy/Delete files
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|Variable containing desired action: Rename, Move, Copy, Delete
Param=[%2]|Variable|Selected file (path included) to act upon
Param=[%3]|Variable|Destination: variable containing file name and path
{End}
Dim fileaction, selectedfile, destinationobject, basefilename, parentpathname, desination2object
Set objFSO = CreateObject("Scripting.FileSystemObject")
fileaction = publication.nbGetVar( "[%1]" )
MsgBox (fileaction)
selectedfile = publication.nbGetVar( "[%2]" )
MsgBox (selectedfile)
destinationobject = publication.nbGetVar( "[%3]" )
MsgBox (desinationobject)
basefilename = objFSO.GetFileName(selectedfile)
MsgBox (basefilename)
parentpathname = objFSO.GetParentFolderName(selectedfile)
MsgBox (parentpathname)
popuptext ="FileAction = " & fileaction &Chr(13)&"SelectedFile: " & selectedfile & Chr(13) & Chr(13)&"DestinationObject:" & destinationobject &Chr(13)& "BaseFileName: " & basefilename &Chr(13)& "ParentPath: " & parentpathname
MsgBox (popuptext)
Select Case fileaction
Case "Rename"
destination2object = parentpathname & "\" & destinationobject
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile selectedfile , destination2object
Case "Move"
destination2object = destinationobject & "\" & basefilename
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile selectedfile , destination2object
case "Delete"
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile(SelectedFile)
case "Copy"
Const OverwriteExisting = True
destination2object = destinationobject & "\"
destination2object = (Replace(destination2object,"\\","\"))
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile SelectedFile , destination2object, OverwriteExisting
End Select
Set objFSO = Nothing
File Properties
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|absolute path to file
Param=[%2]|Variable|NB variable to receive list
{End}
NBselectedfile = publication.nbGetVar("[%1]")
Set filesys = CreateObject("Scripting.FileSystemObject")
Set selectedfile = filesys.GetFile(NBselectedfile)
path = filesys.GetAbsolutePathName(NBselectedfile)
filecreatedate = selectedfile.DateCreated
filelastmodified = selectedfile.DateLastModified
filesize = selectedfile.Size
fileextension = filesys.GetExtensionName(path)
filetype = selectedfile.Type
fileversion = filesys.GetFileVersion(path)
finalstring = "Path: " & Chr(9) & path & chr(13) & "FileCreateDate: " & chr(9) & filecreatedate & chr(13) & "FileLastModified: " & chr(9) & filelastmodified & chr(13) & "FileSize: " & chr(9) & filesize & chr(13) & "FileExtension: " & chr(9) & fileextension & chr(13) & "FileType: " & chr(9) & filetype & chr(13) & "FileVersion: " & chr(9) & fileversion & chr(13)
publication.nbSetVar "[%2]", finalstring
Folder Properties
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|Folder to enumerate properties
Param=[%2]|Variable|NB variable to return enumerated properties.
Param=[%3]|Variable|NB variable with string list of subfolders
{End}
Folderpath = nbGetVar("[%1]")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Folderpath)
FolderDateCreated = objFolder.DateCreated
FolderDateLastAccessed = objFolder.DateLastAccessed
FolderDateLastModified = objFolder.DateLastModified
FolderParentFolder = objFolder.ParentFolder
FolderSize = objFolder.Size
FolderType = objFolder.Type
FolderProperties = ("Folder Created: " & FolderDateCreated & Chr(13) &"Last Modified: " & FolderDateLastModified & Chr(13) & "Parent Folder: " & FolderParentFolder & Chr(13) & "Size: " & FolderSize & Chr(13) & "Type: " & FolderType)
publication.nbSetVar "[%2]", FolderProperties
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder in colSubfolders
Subfolderlist = Subfolderlist & objSubfolder.Name & Chr(9) &" size: "& objSubfolder.Size & Chr(13)
Next
publication.nbSetVar "[%3]", Subfolderlist
The following I wanted to put into one function as I did with the file functions but the CaseSelect just didn't work right, so I split them up:
Copy Folder
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|Primary folder ( copy FROM, etc)
Param=[%2]|Variable|Secondary folder (copy TO, etc.)
{End}
Set objFSO = CreateObject("Scripting.FileSystemObject")
SecondaryFolder=publication.nbGetVar( "[%2]" )
PrimaryFolder=publication.nbGetVar( "[%1]" )
Const OverWriteFiles = True
objFSO.CopyFolder (PrimaryFolder) , (SecondaryFolder) , OverWriteFiles
set objFSO=nothing
On Error Resume Next
If Err.Number <> 0 Then
myerrormsg = ("Error Number: " & Err.Number & " Error Source: " & Err.Source & " Desc: " & Err.Description)
Err.clear
MsgBox (myerrormsg)
End If
Delete Folder - will force delete of all child content
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|Variable containing name of folder to remove
{End}
Set objFSO = CreateObject("Scripting.FileSystemObject")
PrimaryFolder=publication.nbGetVar( "[%1]" )
Set objFSO = CreateObject ("Scripting.FileSystemObject")
objFSO.DeleteFolder PrimaryFolder, force
On Error Resume Next
If Err.Number <> 0 Then
myerrormsg = ("Error Number: " & Err.Number & " Error Source: " & Err.Source & " Desc: " & Err.Description)
Err.clear
MsgBox (myerrormsg)
End if
set objFSO=nothing
On Error Resume Next
If Err.Number <> 0 Then
myerrormsg = ("Error Number: " & Err.Number & " Error Source: " & Err.Source & " Desc: " & Err.Description)
Err.clear
MsgBox (myerrormsg)
End If
Rename Folder
- Code: Select all
{NeoBook Function}
Version=5.70
Language=VBScript
Param=[%1]|Variable|Primary folder (move FROM, copy FROM, etc)
Param=[%2]|Variable|Secondary folder (move TO, copy TO, etc.)
{End}
Set objFSO = CreateObject("Scripting.FileSystemObject")
SecondaryFolder=publication.nbGetVar( "[%2]" )
PrimaryFolder=publication.nbGetVar( "[%1]" )
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFolder (PrimaryFolder) , (SecondaryFolder)
On Error Resume Next
If Err.Number <> 0 Then
myerrormsg = ("Error Number: " & Err.Number & " Error Source: " & Err.Source & " Desc: " & Err.Description)
Err.clear
MsgBox (myerrormsg)
End if
set objFSO=nothing
On Error Resume Next
If Err.Number <> 0 Then
myerrormsg = ("Error Number: " & Err.Number & " Error Source: " & Err.Source & " Desc: " & Err.Description)
Err.clear
MsgBox (myerrormsg)
End If
I decided to use COPY/DELETE as an alternative to a direct MOVE command.