Top-Themen

Aktuelle Themen (A bis Z)

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 Kix - Finde Fehler nicht

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

26.03.2006, aktualisiert 11.07.2006, 8149 Aufrufe, 4 Kommentare

Hallo,

ich habe hier ein kl. Script geschrieben:

01.
;Automatischer Zeilenumbruch 
02.
Break On; 
03.
 
04.
;Tab und Absätze definieren 
05.
$crlf=chr(13)+chr(10); 
06.
$tab=chr(9); 
07.
 
08.
;Liest die Zeilen aus C:\outlook.log 
09.
$pfad = Open (3,"C:\outlook.log"); 
10.
$pfadpo = ReadLine(3); 
11.
$pfadar = ReadLine(3); 
12.
 
13.
;Gibt die Userinfo's aus 
14.
$x = $x+ "Allg. Info's:" +$crlf; 
15.
$x = $x+ "  Netzwerk Username:" +$tab       +@USERID 		 		   +$crlf; 
16.
$x = $x+ "  User-Privillegien:" +$tab +$tab +@PRIV   		 		   +$crlf; 
17.
$x = $x+ "  Primäre Guppe:"     +$tab +$tab +@PRIMARYGROUP 		       +$crlf; 
18.
$x = $x+ "  Anmelde-Domaene:"   +$tab       +@LDOMAIN		 		   +$crlf; 
19.
$x = $x+ "  Login-SERVER:"	    +$tab +$tab +@LSERVER 	   + ".WYDLER" +$crlf;   
20.
$x = $x+ "  Workstation:"	 	+$tab +$tab +@WKSTA  		 		   +$crlf +$crlf; 
21.
 
22.
 
23.
;Liest die pst File aus 
24.
$x = $x+ "Outlook:" +$crlf; 
25.
$pstLocation = $pfadpo ; 
26.
$pstFileSize = getFileSize($pstLocation); 
27.
$pstSize 	 = $pstFileSize / (1024); 
28.
 
29.
 
30.
;Gibt eine Meldung aus, wenn Datei zu gross ist! 
31.
$x = $x + "   Persönlicher Ordner:" +$tab +$pstSize + " KB" +$crlf; 
32.
if $pstSize > 50000  
33.
 $error = $crlf +"  Ihr aktuelles Profil ist zu gross!!" +$crlf; 
34.
 $icon  = "48"; 
35.
else 
36.
 $icon = "64";  
37.
endif 
38.
 
39.
 
40.
$pstLocation = $pfadar; 
41.
$pstFileSize = getFileSize($pstLocation); 
42.
$pstSize 	 = $pstFileSize / (1024); 
43.
$x = $x + "   Archiv Ordner:" +$tab +$tab +$pstSize + " KB" +$crlf; 
44.
 
45.
$x = $x + $error; 
46.
$ok=messagebox($x,"Outlook - Information",$icon,0);
So sieht das Ergebnis aus:
e40cb3440542ae90e13ac8f4d07ae9d1-snap1 - Klicke auf das Bild, um es zu vergrößern

Da müssen eigentlich keine Nullen stehen!


So mit diesem Batch les ich den Speicherordner von der PST File aus:
01.
del "C:\outlook.log" 
02.
For /F "delims=" %%i in ('dir /s /b U:\Outlook.pst U:\archive.pst') do echo %%i >>C:\outlook.log 
In C:\outlook.log steht auch alles korrekt drinne. Habe mein Kixscript schon x mal durchgelesen. Find aber keinen Fehler! Vielleicht findet ihn von euch einer!


Gruß
Dani
Mitglied: gogoflash
28.03.2006 um 17:26 Uhr
Hi,

a)
erstmal würde ich die Semikolons aus dem Skript entfernen, diese sind zum Kommentieren da. Ändert an der Funktion des Skriptes nichts.
b)
Zum zweiten ist die Open Anweisung nicht richtig. $pfad = open geht nicht. Nur open Anweisung nutzen.
Statt $pfad= open(3,...) nur open(3,.....) ins Skript eingeben.
Dann geht es auch wieder .....

Mit $pfad=open(3,...) gibt dir Kix den Errorcode vom Open Kommando aus. Hier wäre er bei Existenz der Datei Null. Du willst aber keinen Errorcode sondern die Datei öffnen.

Ich würde eher über eine direkte Übergabe der Parameter ans KIX Skript gehen (ohne log Datei). Wie folgt:

c) Starten von KIX.
Mein Vorschlag wäre ohne Logdatei.
01.
FOR /F %%a in ('dir c:\archiv.pst /s /b') do (For /F %%i in ('dir c:\outlook.pst /s /b') do (kix32 test.kix $pfad=%%i $pfadar=%%a))
Damit übergeben wir direkt an das KIX-Skript die Pfade.

d) Das neue Skript sieht dann so aus :

Eigentlich wurden nur die Readline und Open Anweisungen gekillt, sonst keine wesentlichen Änderungen.

01.
;Automatischer Zeilenumbruch 
02.
Break On 
03.
 
04.
;Tab und Absätze definieren 
05.
$crlf=chr(13)+chr(10) 
06.
$tab=chr(9) 
07.
 
08.
;Gibt die Userinfo's aus 
09.
$x = $x+ "Allg. Info's:" +$crlf 
10.
$x = $x+ "  Netzwerk Username:" +$tab       +@USERID                     +$crlf 
11.
$x = $x+ "  User-Privillegien:" +$tab +$tab +@PRIV                       +$crlf 
12.
$x = $x+ "  Primäre Guppe:"     +$tab +$tab +@PRIMARYGROUP                +$crlf 
13.
$x = $x+ "  Anmelde-Domaene:"   +$tab       +@LDOMAIN                    +$crlf 
14.
$x = $x+ "  Login-SERVER:"        +$tab +$tab +@LSERVER        + ".WYDLER" +$crlf   
15.
$x = $x+ "  Workstation:"         +$tab +$tab +@WKSTA                      +$crlf +$crlf 
16.
 
17.
;Liest die pst File aus 
18.
$x = $x+ "Outlook:" +$crlf 
19.
$pstLocation = $pfadpo  
20.
$pstFileSize = getFileSize($pstLocation) 
21.
$pstSize      = $pstFileSize / (1024) 
22.
 
23.
;Gibt eine Meldung aus, wenn Datei zu gross ist! 
24.
$x = $x + "   Persönlicher Ordner:" +$tab +$pstSize + " KB" +$crlf 
25.
if $pstSize > 50000  
26.
 $error = $crlf +"  Ihr aktuelles Profil ist zu gross!!" +$crlf 
27.
 $icon  = "48" 
28.
else 
29.
 $icon = "64"  
30.
endif 
31.
 
32.
$pstLocation = $pfadar 
33.
$pstFileSize = getFileSize($pstLocation) 
34.
$pstSize      = $pstFileSize / (1024) 
35.
$x = $x + "   Archiv Ordner:" +$tab +$tab +$pstSize + " KB" +$crlf 
36.
 
37.
$x = $x + $error 
38.
$ok=messagebox($x,"Outlook - Information",$icon,0)
e) Nach Eindampfen einiger Variablen, entsteht eine leicht Verbesserte Fassung::

01.
;Automatischer Zeilenumbruch 
02.
Break On 
03.
 
04.
;Tab und Absätze definieren 
05.
$crlf=chr(13)+chr(10) 
06.
$tab=chr(9) 
07.
 
08.
;Gibt die Userinfo's aus 
09.
$x = $x+ "Allg. Info's:" +$crlf 
10.
$x = $x+ "  Netzwerk Username:" +$tab       +@USERID                     +$crlf 
11.
$x = $x+ "  User-Privillegien:" +$tab +$tab +@PRIV                       +$crlf 
12.
$x = $x+ "  Primäre Guppe:"     +$tab +$tab +@PRIMARYGROUP                +$crlf 
13.
$x = $x+ "  Anmelde-Domaene:"   +$tab       +@LDOMAIN                    +$crlf 
14.
$x = $x+ "  Login-SERVER:"        +$tab +$tab +@LSERVER        + ".WYDLER" +$crlf   
15.
$x = $x+ "  Workstation:"         +$tab +$tab +@WKSTA                      +$crlf +$crlf 
16.
$x = $x+ "  Pfad-Outlook.pst:"         +$tab +$tab +     $pfad                      +$crlf +$crlf 
17.
$x = $x+ "  Pfad-Archiv.pst:"         +$tab +$tab +     $pfadar                      +$crlf +$crlf 
18.
 
19.
;Liest die pst File aus 
20.
$x = $x+ "Outlook:" +$crlf 
21.
$pstSize  = getFileSize($pfad) / 1024 
22.
 
23.
;Gibt eine Meldung aus, wenn Datei zu gross ist! 
24.
$x = $x + "   Persönlicher Ordner:" +$tab +$pstSize + " KB" +$crlf 
25.
if $pstSize > 50000  
26.
 $error = $crlf +"  Ihr aktuelles Profil ist zu gross!!" +$crlf 
27.
 $icon  = "48" 
28.
else 
29.
 $icon = "64"  
30.
endif 
31.
 
32.
$pstSize = getFileSize($pfadar) / (1024) 
33.
$x = $x + "   Archiv Ordner:" +$tab +$tab +$pstSize + " KB" +$crlf 
34.
 
35.
$x = $x + $error 
36.
$ok=messagebox($x,"Outlook - Information",$icon,0) 
37.
 





Gruß Miguel



Do be continued......
Bitte warten ..
Mitglied: Dani
28.03.2006 um 21:38 Uhr
Hi,
Vielen Dank für deine Mühe. Jetzt gehts, aber frag mich nicht warum!
Wünsch dir noch was...


Gruß
Dani
Bitte warten ..
Mitglied: Biber
28.03.2006 um 22:18 Uhr
Moin Dani und gogoflash,

wenn es jetzt -ohne den Zwischenschritt des Schreibens in und Lesens aus einer Datei- klappt, dann kann es eigentlich nur daran gelegen haben, dass Pfadangaben mit Umlauten ("..\Persönlicher Ordner\..") bei den *.pst-Dateiei dabei waren UND und CMD.exe und diie Kix32.exe unterschiedliche Codepages benutzen.

Das obige Skriptchen läuft auch mit "..Persönlichen Ordnern\" etc, wenn vor dem FOR-Befehl des CMD-Interpreters ein "CHCP 1252" abgesetzt wird.

Aber das überarbeitete Skript sieht schon deutlich übersichtlicher aus.

Ändern würde ich aber die ersten beiden Zeilen:

;Automatischer Zeilenumbruch
Break On

...... denn die haben nichts miteinander zu tun...das ist verwirrend.

Und am Ende wird auf jeden Fall die Variable $error verarbeitet, obwohl die nur im Fehlerfall initialisiert ist ($x = $x + $error).

Das ist höchst gefährlich in ziemlich allen (auch Skript-) Sprachen - würde ich mir frühzeitig abgewöhnen. Ebenso die überflüssige Variable "$ok" unten. Wenn die letzte Messagebox keinen Rückgabewert verarbeitet, dann reicht doch ein einfaches "Messagebox( bla)" statt "$ok= Messagebox( bla)"

To be cont'd...

Gruß
Biber
Bitte warten ..
Mitglied: superboh
11.07.2006 um 02:49 Uhr
Kleiner Tip noch:

$crlf=chr(13)+chr(10)

Dafür kannst Du auch das Makro @CRLF verwenden.

Gruß,
Thomas
Bitte warten ..
Ähnliche Inhalte
LAN, WAN, Wireless
Fehler im Netzwerk finden
Frage von jujeizeLAN, WAN, Wireless4 Kommentare

Hi Admin-Community, mal angenommen ihr hättet merkwürdige Aussetzer in einem ganz kleinen Netzwerk, wie würdet ihr an die Sache ...

Mac OS X
OSX 10.10 Fehler Finder 36
Frage von demetzMac OS X2 Kommentare

Hallo zusammen, habt Ihr diesen Fehler schon mal gehabt: Clients (OSX 10.10) mit Dateizugriff auf OSX 10.10 Server. Fehlermeldung ...

LAN, WAN, Wireless

Wie Fehler in Verkabelung (LSA2-Verteiler) finden?

gelöst Frage von bytecounterLAN, WAN, Wireless10 Kommentare

Hallo zusammen, ich habe mal wieder die EDV bei einem Unternehmen übernommen und habe gleich ein nettes Problem. Laut ...

Batch & Shell

Fehler in Batch - Das System kann den Pfad nicht finden

gelöst Frage von dan0neBatch & Shell3 Kommentare

Moin, kann mir mal bitte jemand erklären wieso das geht: Set desk="%userprofile%\Desktop" del /s /q /f "%desk%\C73 - Service ...

Neue Wissensbeiträge
Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 StundeVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Windows Server
Remote Desktop Services User Profile Disk - DFS
Frage von einzelkindWindows Server16 Kommentare

Hallo Miteinander, ich richte gerade eine neue RDS Farm auf Basis von Windows Server 2016 ein. Von Server 2012 ...