-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautols.js
More file actions
35 lines (29 loc) · 1.04 KB
/
autols.js
File metadata and controls
35 lines (29 loc) · 1.04 KB
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
import {fetchServers} from 'serverdata.js'
export function autoLs(ns, serverResult, searchFileExtension) {
let fileCount = 0;
const isSearchFileExtension = (searchFileExtension.length > 0) ? true : false;
for(let s = 0; s < serverResult.length; s++) {
let thisHostName = serverResult[s];
const serverFiles = ns.ls(thisHostName);
for(let f = 0; f < serverFiles.length; f++) {
const thisFileExtension = serverFiles[f].split(".").pop();
if(isSearchFileExtension && thisFileExtension != searchFileExtension) {
continue;
}
ns.tprintf("%i: %s at %s", fileCount, serverFiles[f], thisHostName);
fileCount ++;
}
}
ns.tprintf("%i file(s) found", fileCount);
return fileCount;
}
/** @param {NS} ns */
export async function main(ns) {
let searchFileExtension = "";
if(ns.args.length >= 1) {
searchFileExtension = ns.args[0];
}
ns.tprintf("searchFileExtension = %s", searchFileExtension);
let serverResult = fetchServers(ns, "--all", true);
autoLs(ns, serverResult, searchFileExtension);
}