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

Grösse eines Windowspfades via Bat auslesen

Frage Microsoft Windows Netzwerk

Mitglied: nuzzi71

nuzzi71 (Level 1) - Jetzt verbinden

04.11.2008, aktualisiert 18.10.2012, 4318 Aufrufe, 5 Kommentare

Hallo,

kann man einen Windowspfad , wie z.B. D:\Daten, via Batch die Größe des Inhalts auslesen.

Beispiel:
Ich klicke rechte Maustaste auf den Pfad, dann Eigenschaften und er zeigt mir die Dateianzahl und die Größe an.

Dies möchte ich jetzt mit einer Bat Datei automatisch lösen, da es aufwendig ist, sich durch sämtliche Ordner jeweils durchzuklicken. Es kann auch eine VBA Lösung über Excel sein, also nicht unbedingt auf der Dos-Ebene.

Ist dies Möglich?

Grüße
Thomas
Mitglied: Logan000
04.11.2008 um 09:26 Uhr
Moin Moin

Um Verzeichnisgrößen auszuwerten benutzen wir WinDirStat.

Gruß L.
Bitte warten ..
Mitglied: bastla
04.11.2008 um 09:46 Uhr
Hallo nuzzi71!

Eine (wenn auch nicht sehr schöne ) Lösung mit Batch könnte so aussehen:
01.
@echo off & setlocal 
02.
if "%~1"=="" goto :eof 
03.
dir "%~1\">nul 2>nul || (echo Bitte nur fuer Ordner verwenden! & pause>nul & goto :eof) 
04.
for /f "tokens=1,3" %%i in ('dir %1 /s 2^>nul^|findstr "Datei(en)"') do (set "Dateien=%%i" & set "Bytes=%%j") 
05.
if %Dateien% gtr 0 (echo %Dateien% Dateien mit %Bytes% Bytes) else (echo Keine Dateien gefunden!) 
06.
Pause>nul
Wenn Du diese Batchdatei in den (versteckten) Ordner "%userprofile%\SendTo" legst, kannst Du im Explorer einen Ordner markieren und per Kontextmenü "Senden an" dafür die Batchdatei aufrufen.

Grüße
bastla
Bitte warten ..
Mitglied: nuzzi71
04.11.2008 um 10:09 Uhr
Hallo,

@Logan000 Danke für den Tip. Ich werde die Software ausprobieren.

@bastla Der Code funktioniert soweit gut, nur muss ich ja trotzdem immer alle Pfade anklicken, das ich eigentlich vermeiden möchte.

Am einfachsten wäre es, ich würde Variablen bestimmten unter Excel VBA, die mir die Daten unter vorgegebenen Pfaden ermitteln und in eine Zelle schreiben.

zb: intGroesse = Größe von D:\Daten ' Befehl zum Ermitteln der Größe
int Anzahl = Anzahl Dateien von D:\Daten 'Befehl zum ermitteln der Anzahl

Cells(2,1) = intGröße
Cells(2,2) =intAnzahl

intGroesse = Größe von D:\Auswertungen usw....


Grüße Thomas
Bitte warten ..
Mitglied: bastla
04.11.2008, aktualisiert 18.10.2012
Hallo nuzzi71!

Dass Du eine ganze Liste bearbeiten willst, hatte ich übersehen ...

... aber lässt sich natürlich trotzdem machen:
01.
@echo off & setlocal 
02.
set "Erg=D:\Statistik.csv" 
03.
 
04.
REM DATA D:\Daten 
05.
REM DATA D:\Auswertungen 
06.
REM DATA D:\Whatever 
07.
 
08.
if exist "%Erg%" del "%Erg%" 
09.
for /f "tokens=2*" %%c in ('findstr /b /c:"REM DATA" "%0"') do call :ProcessDir "%%d" 
10.
goto :eof 
11.
 
12.
:ProcessDir 
13.
set Dateien=0 
14.
set Bytes=0 
15.
for /f "tokens=1,3" %%i in ('dir "%~1" /s /-c 2^>nul^|findstr "Datei(en)"') do (set "Dateien=%%i" & set "Bytes=%%j") 
16.
>>"%Erg%" echo %1;%Dateien%;%Bytes% 
17.
goto :eof
Die auszuwertenden Pfade sind (wie ab Zeile 4 gezeigt) im Batch selbst hinterlegt, können aber, auf Wunsch, auch einer zusätzlichen Textdatei entnommen werden.

Da offensichtlich Excel das Ziel ist, erfolgt die Ausgabe "importfreundlich" .
(Nur) Die Größenermittlung unmittelbar in Excel hatten wir übrigens hier. Die Ermittlung der Dateienanzahl müsste dann zusätzlich durch ein rekursiv aufzurufendes "Sub" erfolgen.

Grüße
bastla
Bitte warten ..
Mitglied: nuzzi71
04.11.2008 um 12:31 Uhr
Hallo Bastla,

der Link zu dem anderen Thema hat mir wunderbar geholfen. Genau so ist es am einfachsten und perfekt. Ich verzichte da lieber auf die Anzahl der Dateien.

Danke nochmal

Gruß
Thomas
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...