Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Suche script was mich den zu suchen Ordner angeben lässt und ab welcher größe er angezeigt werden soll!

Frage Entwicklung VB for Applications

Mitglied: zorn89

zorn89 (Level 1) - Jetzt verbinden

24.02.2012 um 10:12 Uhr, 3961 Aufrufe, 8 Kommentare

Hallo liebe Gleichgesinnte,

ich bin Speicheradministrator und suche ein script was mir im "User" verzeichnis alle Desktopordner angibt die > 1 mb sind.

Ich hatte es mir so vorgestellt, das ich dem script das laufwerk bekannt mache und ihm dann sage nach welchem Ordner er suchen soll und weiter wie groß die Ordner min. sein sollen damit sie angezeit werden. Das ganze soll am besten in eine .txt mit dem Pfad geschrieben werden wo die Desktopordner sich befinden.

Ich wäre euch sehr dankbar für eure Hilfe.
Mitglied: bastla
24.02.2012 um 19:08 Uhr
Hallo zorn89 und willkommen im Forum!

Ein VBScript könnte etwa so aussehen:
01.
StartFolder = WScript.Arguments(0) 
02.
FolderName = "Desktop" 'gesuchter Ordnername 
03.
Limit = 1000000 'Untergrenze Ordnergröße in Bytes 
04.
 
05.
Result = "" 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
DoSubFolders fso.GetFolder(StartFolder) 
08.
WScript.Echo Result 
09.
 
10.
Sub DoSubFolders(Folder) 
11.
    For Each SubFolder in Folder.SubFolders 
12.
        If LCase(SubFolder.Name) = LCase(FolderName) Then ' Groß-/Kleinschreibung bei der Prüfung des Ordnernamens ignorieren         
13.
            If SubFolder.Size > Limit Then 
14.
                Result = Result & Chr(34) & SubFolder.Path & Chr(34) & ";" & SubFolder.Size & vbCrLF 
15.
            End If 
16.
        Else 'weitersuchen 
17.
            DoSubFolders SubFolder 'Rekursion 
18.
        End If 
19.
    Next 
20.
End Sub
Dieses Script (beispielsweise gespeichert als "D:\Scripts\ListBigFolders.vbs ") erwartet den Startordner als Aufrufparameter und wäre daher aus einem CMD-Fenster etwa so zu starten:
cscript //nologo D:\Scripts\ListBigFolders.vbs D:\Users
Um eine Textdatei zu erstellen, genügt es, die Ausgabe umzuleiten:
cscript //nologo D:\Scripts\ListBigFolders.vbs D:\Users >D:\BigFolders.txt
Es kann natürlich auch der Startordner in Zeile 1 fest verdrahtet werden:
StartFolder = "D:\Users"
Auch das Erstellen der Datei lässt sich in das Script aufnehmen - dazu nach (oder anstatt) Zeile 8 einfügen:
fso.CreateTextFile("D:\BigFolders.txt").Write Result
Grüße
bastla
Bitte warten ..
Mitglied: zorn89
20.03.2012 um 08:00 Uhr
Hi Bastla,

erst mal vielen dank für deine Antwort.

Ich hab mal ein wenig gesucht, weil immer in zeile 7 ein fehler geworfen wird "Laufzeitfehler in MS VBScript: Der Pfad wurde nicht gefunden." und dabei festgestellt, dass ich die FSO's erstmal iwo global bkanntmachen muss. Ich schreibe in notepad++, aber da kann ich das iwie nicht finden. Weiß jemand von euch einen Tip oder die Lösung?
Bitte warten ..
Mitglied: bastla
20.03.2012 um 09:47 Uhr
Hallo zorn89!

Wie startest Du denn das Script? Die Fehlermeldung deutet eher darauf hin, dass Du den Startordner nicht (richtig) übergibst (denn das "FileSystemObject" kennt das Script schon seit Zeile 6) ...

Grüße
bastla
Bitte warten ..
Mitglied: zorn89
20.03.2012 um 11:07 Uhr
Ich habe insgesamt zwei Dateien, einmal das Script an sich und eine "start.bat," inder der Aufruf des Scripts vorgenommen wird.

'Start.bat

call cscript C:\Scripts\ListBigFolders.vbs W:\Users >C:\Temp\BigFolders.txt
pause

Das ist eig. alles und ich muss es leider so aufrufen, da die Assoziation auf .vbs Datei per gpo Richtline entfernt wurde. ^^
Bitte warten ..
Mitglied: bastla
20.03.2012 um 11:47 Uhr
Hallo zorn89!

Besser wäre zwar
cscript //nologo C:\Scripts\ListBigFolders.vbs W:\Users >C:\Temp\BigFolders.txt
aber daran soll's nicht scheitern - damit bleibt die Frage, ob es beim Start des Scripts den Pfad "W:\Users" gibt (Mapping?) und ob Du auch die nötigen Berechtigungen für alle zu prüfenden Ordner hast (sollte ggf allerdings zu "Permission denied" führen) ...

Grüße
bastla

P.S.:
ich muss es leider so aufrufen
Über "WScript.exe" würdest Du das ohnehin nicht wollen ...
Bitte warten ..
Mitglied: zorn89
20.03.2012 um 11:55 Uhr
Hallo Bastla,

ich glaubs ja nicht, es läuft durch! Super ich danke dir! Aber eig. sollte es nicht daran liegen! Aber es läuft, vielen Dank!

Eine kleine frage hätte ich noch, kann ich im script gleich die umrechnung in MB mit einbeiehen, sodass in der txt die Größe in MB steht?

Vielen Dank!

Zorn
Bitte warten ..
Mitglied: bastla
20.03.2012 um 12:04 Uhr
Hallo zorn89!

Etwa so:
Result = Result & Chr(34) & SubFolder.Path & Chr(34) & ";" & FormatNumber(SubFolder.Size / 1048576, 2) & vbCrLF
- passend dazu: http://technet.microsoft.com/en-us/library/ee176975.aspx

Grüße
bastla
Bitte warten ..
Mitglied: zorn89
20.03.2012 um 12:23 Uhr
Hallo Bastla,

Vielen Dank für deine super Hilfe!

LG
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...