Scoot.folder() Reference
#Scoot.folder()
The Scoot.folder() object provides standard methods for working with and accessing local folder. For reference throughout this document a valid folderspec is a complete path including the ending forward slash (\).
Scoot.folder().exists(folderspec)
Scoot.folder().exists() returns a Boolean on whether or not the folderspec exists.
####Sample Use
var folderspec = "c:\\users\\[username]\\pdfdocuments\\";
if (Scoot.folder().exists(folderspec)) {
...
}
Scoot.folder().parentfolder(folderspec)
Scoot.folder().parentfolder() returns the parent folder of the folderspec provided.
####Sample Use
var folderspec = "c:\\users\\[username]\\pdfdocuments\\";
var parentfolder = Scoot.folder().parentfolder(folderspec); // = c:\\users\\[username]\\
Scoot.folder().scriptfolder()
Scoot.folder().scriptfolder() returns the folder the .HTA file was started from.
Scoot.folder().parentof(thisfolderSpec)
Scoot.folder().parentof() ...run a test to determine if this is the same as parentfolder().
Scoot.folder().browse(startinfolder, dialogtitle)
Scoot.folder().browse() opens a folder browse dialog for the user to select a folder. if the startinfolder is a valid folderspec the dialogs root is that folder. The dialogtitle is the title for the digalog.
Scoot.folder().open(folderspec, into)
Scoot.folder().open() loads all subfolders for the folderspec into the into array. The into array may be a javascript array or a Knock Out observableArray. Each subfolder object in the array will have a name and a spec property.
####Sample Use
var self = this;
self.subfolders = ko.observableArray([]);
self.folderspec = "c:\\users\\[myusername]\\pdfdocuments\\";
Scoot.folder().open(folderspec, self.subfolders);
var subfolder1name = self.subfolders()[0].name;
alert(subfolder1name);
var subfolder1spec = self.subfolders()[0].spec;
alert(subfolder1spec);
Scoot.folder().create(folderspec)
Scoot.folder().create() Creates a folder based on the folderspec. If the folderspec already exists the user is alerted.
Scoot.folder().delete(folderspec)
Scoot.folder().delete() deletes the folderspec provided if it exists. If the folderspec does not exist the user is alerted. No warning is given prior to delete. It is up to the programmer to prompt the user prior to a delete if they so wish.
####Sample Use
var myfolder = "c:\\users\\[myusername]\\oldpdfdocuments\\";
var ans = window.confirm('Are you sure you want to delete the '+myfolder+' folder?');
if (ans) {
Scoot.folder().delete(myfolder);
}
Scoot.folder().files(folderspec, into)
Scoot.folder().files() loads file objects from the folderspec into the into array. The into array may be a javascript array or a Knock Out observableArray. Each file object in the array will have a name, a spec, a foldername, size, and an mdate (last modified date) property. The mdate and size properties may need to be formatted using an external function not provided.
####Sample Use
<div class="row" >
<div class="form-group">
<div class="col-sm-12">
<table class="table table-responsive table-bordered">
<thead>
<tr>
<th style="width:25%;">Folder</th>
<th style="width:35%;">Name</th>
<th style="width:25%;">M. Date</th>
<th style="width:25%;">Size</th>
</tr>
</thead>
<tbody data-bind="foreach: files">
<tr>
<td><span data-bind="text: foldername"></span></td>
<td><span data-bind="text: name"></span></td>
<td nowrap><span data-bind="text: mdate"></span></td>
<td nowrap><span data-bind="text: formatSize(size) "></span></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
function formatSize(n) {
var o = n / 1000;
return (o.toLocaleString('en-US', { minimumFractionDigits: 0 }));
}
var ViewModel = function (oPage){
var self = this;
self.page = oPage;
self.files = ko.observableArray([]);
self.folderspec = "c:\\users\\[myusername]\\pdfdocuments\\";
self.Init = function () {
Scoot.folder().files(folderspec, self.files);
}
}
function BindToPage() {
var vm = new ViewModel(objPage);
ko.applyBindings(vm);
vm.Init();
}
$(document).ready(function () {
objPage.load(BindToPage);
});