VBS grote bestanden zoeken

Status
Niet open voor verdere reacties.

janusvl

Gebruiker
Lid geworden
11 apr 2009
Berichten
159
Goede morgen,

Ik wil graag een scriptje maken dat alle bestanden op het netwerk groter dan 50 mb met naam en locatie in excel ziet.

Heeft iemand een idee hoe ik moet beginnen?

janus
 
Hallo Janus,

Dit is een script in javascript je kunt dit als voorbeeld gebruiken. Het maakt een tekst bestand met de bestandsnamen van de inhoud van een folder die groter zijn als 2000 bytes. Gaat ook de subfolders af.

Volgens mij zijn er maar kleine verschillen met VBS, dus je kunt bijv. zien hoe je de bestands grootte van een bestand kunt opvragen enz.

[JS]var startFolder = 'C:\\testfolder';
var outFile = 'C:\\temp\\Bestanden.txt';
var minFileSize = 2000; // Bytes

var forWriting = 2;
var forAppending = 8;
var fs = new ActiveXObject("Scripting.FileSystemObject");
var otf = fs.OpenTextFile(outFile, forWriting, true);

var fso = new ActiveXObject("Scripting.FileSystemObject");

createFolderList(startFolder);
otf.Close();

function createFolderList(folderspec) {
var f = fso.GetFolder(folderspec);
var fc = new Enumerator(f.SubFolders);

if (!fc.atEnd()) {
for (; !fc.atEnd(); fc.moveNext()) {
createFolderList(fc.item());
}

createFileList(folderspec);
}
}

function createFileList(folderspec) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(folderspec);
var fc = new Enumerator(f.files);
var s = "";

for (; !fc.atEnd(); fc.moveNext()) {
var file = fso.getFile(fc.item());
if (file.size >= minFileSize) {
s += fc.item();
s += ' size: ' + file.size;
s += "\r\n";
}
}

if (s.length > 0) {
otf.WriteLine(s);
}
}
[/JS]

Mvg,
Peter
 
Hallo Janus,

Dit is een script in javascript je kunt dit als voorbeeld gebruiken. Het maakt een tekst bestand met de bestandsnamen van de inhoud van een folder die groter zijn als 2000 bytes. Gaat ook de subfolders af.

Volgens mij zijn er maar kleine verschillen met VBS, dus je kunt bijv. zien hoe je de bestands grootte van een bestand kunt opvragen enz.

[JS]var startFolder = 'C:\\testfolder';
var outFile = 'C:\\temp\\Bestanden.txt';
var minFileSize = 2000; // Bytes

var forWriting = 2;
var forAppending = 8;
var fs = new ActiveXObject("Scripting.FileSystemObject");
var otf = fs.OpenTextFile(outFile, forWriting, true);

var fso = new ActiveXObject("Scripting.FileSystemObject");

createFolderList(startFolder);
otf.Close();

function createFolderList(folderspec) {
var f = fso.GetFolder(folderspec);
var fc = new Enumerator(f.SubFolders);

if (!fc.atEnd()) {
for (; !fc.atEnd(); fc.moveNext()) {
createFolderList(fc.item());
}

createFileList(folderspec);
}
}

function createFileList(folderspec) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder(folderspec);
var fc = new Enumerator(f.files);
var s = "";

for (; !fc.atEnd(); fc.moveNext()) {
var file = fso.getFile(fc.item());
if (file.size >= minFileSize) {
s += fc.item();
s += ' size: ' + file.size;
s += "\r\n";
}
}

if (s.length > 0) {
otf.WriteLine(s);
}
}
[/JS]

Mvg,
Peter

bedankt ik denk dat het hier wel mee moet lukken ik ga er zo eens naar kijken
 
ik heb het nu klaar maar nu wil ik dat een popup geeft met de vraag welke bestandsnaam ik hem wil geven. Maar steeds als ik dit doe krijg ik een runtime error.

Code:
show_alert();
var startFolder = 'C:\\';
var outFile = 'C:\\temp\\Bestanden2.csv';
var minFileSize = 6553600; // Bytes
var forWriting = 2;
var forAppending = 8;
var fs = new ActiveXObject("Scripting.FileSystemObject");
var otf = fs.OpenTextFile(outFile, forWriting, true);

var fso = new ActiveXObject("Scripting.FileSystemObject");

createFolderList(startFolder);
otf.Close();

function show_alert()
{
//hier de alert

}

function createFolderList(folderspec) {
    var f = fso.GetFolder(folderspec);
    var fc = new Enumerator(f.SubFolders);
 
    if (!fc.atEnd()) {
        for (; !fc.atEnd(); fc.moveNext()) {
            createFolderList(fc.item());
        }
 
        createFileList(folderspec);
    }
}

function createFileList(folderspec) {
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var f = fso.GetFolder(folderspec);
    var fc = new Enumerator(f.files);
    var s = "";
 
    for (; !fc.atEnd(); fc.moveNext()) {
        var file = fso.getFile(fc.item());
        if (file.size >= minFileSize) {
			s += ' size: ' + ';' + + file.size + ';';
            s += fc.item();
            s += "\r\n";
        }
    }
 
    if (s.length > 0) {
       // otf.WriteLine(s);
    }
}
heeft iemand een idee hoe ik dit kan doen?

janus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan