Ich muss auf mehreren Windows 2000 Rechnern das Adresssbuch von Outlook-Express ersetzen. Die Batchdatei die ich benötige sollte folgendes können: 1. Herausfinden wie das derzeitige, auf dem Rechner befindliche Adressbuch heisst. 2. Das Standard-Adressbuch in diesen Namen umbenennen. 3. Das auf dem Rechner befindliche Adressbuch durch das umbenannte Standardadressbuch ersetzen. Ist es möglich so etwas zu programmieren?? Bin dankbar für jede Antwort.
Office - Word, Excel und Co. 9.753 Themen, 41.598 Beiträge
Hallo Sascha,
das ist machbar und sogar recht einfach:
Zu 1)
Das OE-Adressbuch jedes Benutzers befindet sich in der Datei
%USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wap
Die Umgebungsvariablen %USERPROFILE% (Normalerweise "C:\Dokumente und Einstellungen\%USERNAME%") und %USERNAME% (der Benutzername) werden beim Ausführen durch die Daten des angemdelteten Benutzers ersetzt. Das Suchen können wir uns somit ersparen...
zu 2 und 3)
Können wir auch gleich in einem Schritt machen:
copy Standardadressbuch.wap %USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wap
Soll das Adressbuch vorher noch gesichert werden, dann legen wir mit
copy %USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wap %USERNAME%@%COMPUTERNAME%.bak.wab
eine Sicherungskopie an.
CU Borlander
Hi,
vielen Dank für die schnelle Antwort. Eine Frage muss ich aber noch loswerden:
Soll ich den Pfad "copy Standardadressbuch.wap %USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wap" in den Texteditor kopieren, diesen als .bat speichern und zusammen mit dem Standardadressbuch.wab in einen Ordner packen um diesen Kopiervorgang durchzuführen?
Genau so!
Hab einen Ordner angelegt der Test heisst. Habe dort ein Standardadressbuch.wab und eine Test.bat die den Inhalt "copy Standardadressbuch.wap %USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wap" enthält reinkopiert.
Wenn ich die Test.bat starte passiert nichts.
Wenn ich die Test.bat über den Command-Modus starte zeigt er mir folgendes an:
C:\TEST>copy Standardadressbuch.wap C:\DOKUME~1\ADMINI~1\Anwendungsdaten\Microso
ft\Address Book\Administrator.wap
Das System kann die angegebene Datei nicht finden.
Das gleiche passiert wenn ich als User (nicht Administrator) angemeldet bin.
Irgendeine Idee??
Bei mir hat die Datei eine .wab Endung.
Hab zwar Xp Professional aber ich denk das wird wohl bei Windows 2000 nicht sehr viel anders sein.
Ich seh grad Borlander hat auch bei zwei von drei Fällen .wap geschrieben, aber was würde das für einen Sinn machen? Heißt doch bestimmt Windows Address Book?
Da scheint sich wirklich der Fehlerteufel in meinem Posting eingeschlichen zu haben, muss natürlich immer die Endung .wab sein.
Also
copy Standardadressbuch.wab %USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wab
CU Borlander
Hallo!
Wie wärs mit *.CMD als Kürzel statt *.BAT?
Oder klappt das unter Windows2k mit den langen Dateinamen auch so? ...
MfG
Wanja
Ist egal welche Endung die Datei hat, beim Auführen passiert mit beiden das selbe. Keine Ahnung warum es überhaupt die Endung .cmd gibt, da sich dahinter nichts als eine gewönliche Batch-Datei verbirgt. Der Fehler dürfte ausschließlich auf die falche Endungen (.wap statt .wab) in meiner ersten Antwort zurückzuführen sein...
CU Borlander
Hallo,
ja der Teufel steckt im Detail und man scheitert meist nur an den kleinen Dingen.
Mit der richtigen Endung .wab scheint er willig zu sein, allerdings zeigt er mir nun folgendes an:
C:\TEST>copy Standardadressbuch.wab C:\DOKUME~1\ADMINI~1\Anwendungsdaten\Microsoft\Address Book\Administrator.wab
Syntaxfehler.
Echt hartnäckige Sache.
Liegt daran das Leerzeichen im Dateinamen/Pfad sind. Mit Anführungszeichen um die entsprechende Datei sollte es dann allerdings endlich funktionieren:
copy Standardadressbuch.wab "%USERPROFILE%\Anwendungsdaten\Microsoft\Address Book\%USERNAME%.wab"
CU Borlander
Hallo,
ich wollte noch mal zusätzlich wissen wie ich die .bat Datei abändern muss damit dass ganze auch für Windows 95/98 Rechner funktioniert.
Danke.
Bei Win9x/Me ist das leider nicht so einfach möglich, da die Umgebungsvariable für den Benutzername nicht definiert ist (ist nur bei NT-Systemen (NT/2K/XP) der Fall).
Üblicherweise liegt das Adressbuch unter Win9x in der Datei
%WINDIR%\Anwendungsdaten\Microsoft\Adress Book\%USERNAME%.wab
%USERNAME% ist unter Win9x nicht definiert, könnte allerdings als Parameter an die BatchDatei übergeben werden. Evtl. kann man mit dem FOR Befehl alle Dateien in diesem Verzeichnis durchlaufen und durch die StandardDatei ersetzen, dafür müsste ich allerdings überprüfen ob dies mit dem FOR-Befehl von Win9x, möglich ist - auf NT-Systemen ist dies auf jeden Fall der Fall...
CU Borlander
So sollte es es funktionieren:
FOR %i IN ("%WINDIR%\Anwendungsdaten\Microsoft\Adress Book\*.wab") DO COPY Standardadressbuch.wab "%WINDIR%\Anwendungsdaten\Microsoft\Adress Book\%i"
CU Borlander
Hmmm,
haut noch nicht ganz hin. Er zeigt einen Syntaxfehler an.
Der oben Hast Du die Anweisung in einer Zeile der BatchDatei stehen?
Also
FOR %i IN ("%WINDIR%\Anwendungsdaten\Microsoft\Adress Book\*.wab") DO COPY Standardadressbuch.wab "%WINDIR%\Anwendungsdaten\Microsoft\Adress Book\%i"
Sonst kann es nicht funktionieren.
Da die Zeile sehr lang ist wird sogar noch bei SXGA umgebrochen...
Probier ich nochmal aus. Kann ich aber erst ab 29.05. tun.
Danke erstmal