ropo
Goto Top

Größe der pst-Datei per Batch ermitteln und auswerten

Hallo,
ich sichere z.Z. die lokale pst-Datei per Batch bei Systemstart auf den Notebooks, um sie dann per externer Datensicherung bei Netzwerkverbund von einem Server sichern zu lassen.
Dazu möchte ich dem User gern einen Hinweis geben, wenn die lokale pst-Datei größer 1,8 GB ist.
Nun kann ich zwar die Größe per "dir" in eine lokale Datei abspeichern, komme aber dann nicht weiter.
hier der Teil zu "dir"

dir "%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook\outlook.pst" > groesse.txt  

Sicher gibt es noch andere Möglichkeiten, ich bin für jeden Hinweis dankbar.

ropo

Content-ID: 15126

Url: https://administrator.de/contentid/15126

Ausgedruckt am: 13.11.2024 um 12:11 Uhr

Egbert
Egbert 30.08.2005, aktualisiert am 14.03.2023 um 10:32:20 Uhr
Goto Top
Hallo

Hier ist als Beispiel ein Kixstart Script:

http://www.kixtart.org/ubbthreads/showflat.php?Number=123259

Gruß
Egbert
Biber
Biber 30.08.2005 um 09:25:13 Uhr
Goto Top
Moin ropo,

ich würde es als Mini-Batch machen. Habe es wegen der Lesbarkeit auf mehrere Zeilen verteilt.

--snipp ---PstSizeCheck.bat
@echo off
set warnsize=9999999
set usersPstDir="%USERPROFILE%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook"   
for /R %usersPstDir% %%i in ("outlook.pst") do @if %%~zi GTR %warnsize% echo Outlook-Datei zu gross: %%~zi Byte.  
snapp PstSizeCheck.bat
HTH
Frank / der Biber aus Bremen
ropo
ropo 30.08.2005 um 10:25:00 Uhr
Goto Top
Hallo,
vielen Dank für die Hinweise; ich werde sie testen.
ropo
ropo
ropo 30.08.2005 um 13:23:51 Uhr
Goto Top
Hallo,
ich habe die Batch getestet, funktioniert bestens.
Eine kleine Änderung; outlook.pst darf nicht in "" geschrieben werden.
KiXtart kannte ich noch nicht, ist eine interessante Sache.
In diesem Zusammenhang habe ich noch ein Problem:
Wie kann ich bei "cp" das Dos-Fenster unterdrücken bzw. minimieren.
vielen Dank
ropo
Biber
Biber 30.08.2005 um 15:10:36 Uhr
Goto Top
Moin, ropo,
Hallo,
ich habe die Batch getestet, funktioniert bestens.
Eine kleine Änderung; outlook.pst darf
nicht in "" geschrieben werden.
Danke für den Hinweis.. ich hatte natürlich auch nur kurz mit "meinen" PSt-Pfaden und "*.pst" angetestet - dass der Einzeiler oben läuft, war zwar begründete Vermutung, aber nicht wirklich getestet. Nächstes Mal merke ich das auch an.
Bei KiXtart kann ich Dir leider nicht helfen; ich finde die normalen CMD/Batch-Möglichkeiten für das Tagesgeschäft voll ausreichend. Und dieses Kix-Script, dass ich mir auch kurz angeschaut habe, kann ich auch als *.bat-Bätchelchen nachbilden. Da wüsste ich dann auch, wie ich das CMD-Fenster klein oder wech kriege... face-wink
Liebe Grüße
Biber
ropo
ropo 31.08.2005 um 15:46:55 Uhr
Goto Top
Hallo,
ich habe die Batch erweitert und ähnlich dem KiXtart-script abgebildet, trotzdem habe ich noch das Problem mit dem DOS-Fenster bei folgenden Befehlen:
echo %tag%>tag.txt
und
cp %usersPstDir%\%pst% "c:\batch\%user%-%jahr%-%monat%-%tag%_%std%-%min%.pst"
Da das Kopieren teilweise recht lange dauert, möchte ich das Fenster minimieren oder ausblenden.

gruß
ropo
Biber
Biber 31.08.2005 um 16:09:30 Uhr
Goto Top
Moin ropo,

2. Problem versteh ich, erstes nicht.

zum 2. Problem:
-mehrere Mglichkeiten
-- Neues Dos-Fenster ganz unsichtbar starten über
a) 3 Zeilen *.vbs-code; gibts hier im Forum; hab ich grad nicht gefunden
b) FremdTools - FaBMin hat eins erwähnt in seinbenm RIS-Tutorial (CMDOW.exe oder so)
c) den copy-Befehl über [Start /B cmd /c "cp ..... ...." ] aufrufen. Siehe "Start /?"

-- oder (auch wieder Dritt-Tools) - das aktive Dos-Fenster minimieren. Ist ein bisschen neben de Kappe, aber irgendwo hab ich da Links dazu in meinen Archiven

-- oder den ganzen Batch von vornherein mit "Start /B" | "Start /Min" aufrufen.

Alle drei Varianten aber erst, wenn es denn stabil läuft, mit Benutzereingriffen bei Fehlern ist da nur noch wenig. face-wink

Poste doch bitte Deinen Batch - in dieses "ECHO"-Problem kann ich mich kaum abstrakt reindenken.
Grüße
Biber
ropo
ropo 31.08.2005 um 16:19:48 Uhr
Goto Top
Hallo,

es erfolgt nur eine Auswertung, ob schon einmal am Tag eine Dasi erfolgt ist. -wenn ja, dann keine Dasi, sonst Datum neu schreiben und Sicherung.
Das Schreiben in eine Datei deshalb, daß beim Booten etwas auswertbar ist.
Hier der Teil der Auswertung:

set tag=%date:~-10,2%
find "%tag%" tag.txt  
goto errorlevel
{{comment_single_line_double_colon{{comment_single_line_double_colon:1}}}}
goto %errorlevel%
{{comment_single_line_double_colon:1}}
goto end
:1
echo %tag%>tag.txt
goto next

Gruß
ropo
Biber
Biber 31.08.2005 um 18:11:51 Uhr
Goto Top
Moin, ropo,

nix dagegen zu sagen - das Problem ist Dein Editor *gg
Ich habe mir den Ausschnitt kopiert und bei allen Zeile waren noch zwei Leerzeichen am Ende der Zeile.
Ist verheerend beim Variablensetzen "set tag=%date:~-10,2% " ... die SPACES bleiben dran.
TIPP: (auch wenns undokumentiert ist, beruf Dich auf mich face-wink )
Schreib es so: <font color=blue>set "tag=%date:~-10,2%" </font>-->funktioniert IMMER. Auch unter Wasser.

Einige Kinkerlitzchen hätte ich anders gemacht:
- die Tag.txt in eine Variable und das Schreiben in %temp%. In dem Pfad hat jeder Rechte.
- die Label als ":0" und ":1" ... hmm, funktioniert. Aber ich hätte nicht drauf gewettet. Ich lass die lieber mit einem Buchstaben anfangen ("L0" und "L1" statt "0" und "1". Macht den Textsearch einfacher. Aber egal.
- "if not Exist %TTdatei% goto L1" ... wenns keine Datei gibt, dann anlegen.
- find..... > nul ... Ausgabe von Find entsorgen

snipp ...Ausschnitt TagCheck..
@echo off & setlocal
::.....
::....
set "TTDatei=%temp%\DaSi.Tag"  
set "tag=%date:~-10,2%"  
if not Exist %TTdatei% goto L1
find "%tag%" %TTDatei% >nul  
goto L%errorlevel%
:L0
goto end
:L1
echo %tag%>%TTDatei%
goto next
...
:next
:end
snapp Auschnitt Tagtext
so sähe meine Variante aus.
Aber Fehler waren nur die SPACES in der SET-Zeile.

Schönen Abend
Biber
ropo
ropo 01.09.2005 um 11:05:41 Uhr
Goto Top
Hallo Biber

Besten Dank für die vielen Hinweise, sind bereits alle eingearbeitet und funktionieren perfekt.
Der Editor ist auch gewechselt, so daß es künftig keine Probleme geben sollte.
Auch den Syntax set "tag=%date:~-10,2%" habe ich nun mehrfach verwendet; was es nicht so alles gibt!!!
Nun kann ich auch endlich meinen Nutzern einen Hinweis mitgeben, daß die PST-Datei wohl zu sehr gefüllt ist und muß nicht zu oft diese Datei reparieren.

Viele Grüße
ropo
Biber
Biber 01.09.2005 um 11:35:51 Uhr
Goto Top
Dir auch danke, ropo,

für die Rückmeldung. Ich werde wohl noch mal bei Gelegenheit ein Mini-Tutorial posten:
"Zehn undokumentierte CMD-Features, mit denen Bätche funktionieren"...face-wink
Nur... welche 10 nehme ich da..? *grübel* ..Aber diese SET-Syntax nehme ich auf jeden Fall mit rein.

Schönen Tag Dir
Biber
138959
138959 04.05.2019, aktualisiert am 14.03.2023 um 10:33:20 Uhr
Goto Top
Der Beitrag ist zwar schon alt, aber vielleicht hilft es noch jemand.
Man kann im Netzwerk auch die PST Dateien mit dem PST Reporting suchen lassen.
Dann hat man die Daten zentral zum abruf.