-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDirDetail.js
68 lines (59 loc) · 1.89 KB
/
DirDetail.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// When an object is dragged from Windows Explorer and dropped on something,
// the "something" receives a bit of text that is the full path of the object
// that was dragged.
//
// This script accepts a string as an argument.
//
// Intended use: Drop a folder on this script. The contents of the
// folder will be extracted from Windows (similar to
// the dir command) and the results will be placed
// on the clipboard.
//
var oFSO = new ActiveXObject("Scripting.FileSystemObject");
var arrFiles = new Array();
arrFiles.push("Folder\tFile Name\tSize (bytes)\tDate Created\tDate Modified");
var oArg = WScript.Arguments;
var sArg = "";
if (oArg.length != 1) {
// no folder dropped
WScript.Echo("Please use only one folder.");
}
else {
sArg = oArg(0);
getFSItem(sArg);
}
function getFSItem(s) {
if (oFSO.FolderExists(s)) {
getDir(oFSO.GetFolder(s));
}
else {
// no folder dropped
WScript.Echo("Input must be a folder.");
}
}
function getDir(oFld) {
var eFile = new Enumerator(oFld.Files);
var mod = "";
var create = "";
var dc = new Date();
var dm = new Date();
for (; !eFile.atEnd(); eFile.moveNext()) {
with (eFile.item()) {
dc = new Date(DateCreated)
create = dc.getFullYear() + "-" + (dc.getMonth() + 1) + "-" + dc.getDate() + " " + dc.getHours() + ":" + dc.getMinutes() + ":" + dc.getSeconds();
dm = new Date(DateLastModified)
mod = dm.getFullYear() + "-" + (dm.getMonth() + 1) + "-" + dm.getDate() + " " + dm.getHours() + ":" + dm.getMinutes() + ":" + dm.getSeconds();
arrFiles.push(oFld.Path + "\t" + Name + "\t" + Size + "\t" + create + "\t" + mod);
}
}
var eFld = new Enumerator(oFld.SubFolders);
for (; !eFld.atEnd(); eFld.moveNext()) {
getDir(eFld.item());
}
}
var WshShell = new ActiveXObject("WScript.Shell");
var oClip = WshShell.Exec("clip");
var oIn = oClip.stdIn;
oIn.WriteLine(arrFiles.join("\r\n"));
oIn.Close();
WScript.Echo("Done");