brother-tuck
Goto Top

Sicherung von Dateien über Netzwerk mit Variablen aus einem Logfile

Hallo, ich habe ein Logfile und möchte mit den enthaltenen Daten eine Batch-Datei erstellen. Das Ergebnis habe ich ebenfalls fertig, allerdings habe ich die Variablen händisch hinzugefügt. Ich würde gerne alles mit einer Batchdatei regeln. Falls jemand einen Lösungsansatz oder sogar eine Lösung hat wäre ich dafür sehr dankbar.

Der Inhalt des Logfiles sieht wie folgt aus:

 Datentr„ger in Laufwerk \\%COMPUTERNAME%\c$: ist SYSTEM
 Volumeseriennummer: XXXX-XXXX

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USERLANGganz1-%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11            11.111 %DOMÄNE%\%USERLANG1%outlook.pst
               1 Datei(en),         11.111 Bytes

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USER1-%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11     1.111.111.111 %DOMÄNE%\%USER1%    archive.pst
11.11.2011  11:11       111.111.111 %DOMÄNE%\%USER1%    outlook.pst
               2 Datei(en),  1.111.111.111 Bytes

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USERLANGganz2-%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11     1.111.111.111 %DOMÄNE%\%USERLANG2%archive.pst
               1 Datei(en),  1.111.111.111 Bytes

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USER2-%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11           111.111 %DOMÄNE%\%USER2%    archive1.pst
               1 Datei(en),        111.111 Bytes

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USER3-%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11           111.111 %DOMÄNE%\%USER3%    Outlook.pst
               1 Datei(en),        111.111 Bytes

 Verzeichnis von \\%COMPUTERNAME%\c$\Dokumente und Einstellungen\%-USER4%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook

11.11.2011  11:11       111.111.111 %DOMÄNE%\%USER4%    adminarchive.pst
               1 Datei(en),    111.111.111 Bytes

     Anzahl der angezeigten Dateien:
               1 Datei(en),  1.111.111.111 Bytes
               1 Verzeichnis(se), 11.111.111.111 Bytes frei

und nach dem ausführen der Batchdatei soll das Ergebniss wie folgt aussehen:

set PC=%-COMPUTERNAME-%

set PFAD-T0101=c$\Dokumente und Einstellungen
set PFAD-T0201=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER01=%-USERLANGganz1-%
set DATEI01=outlook.pst

set PFAD-T0102=c$\Dokumente und Einstellungen
set PFAD-T0202=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER02=%-USER1-%
set DATEI02=archive.pst

set PFAD-T0103=c$\Dokumente und Einstellungen
set PFAD-T0203=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER03=%-USER1-%
set DATEI03=outlook.pst

set PFAD-T0104=c$\Dokumente und Einstellungen
set PFAD-T0204=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER04=%-USERLANGganz2-%
set DATEI04=archive.pst

set PFAD-T0105=c$\Dokumente und Einstellungen
set PFAD-T0205=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER05=%-USER2-%
set DATEI05=archive1.pst

set PFAD-T0106=c$\Dokumente und Einstellungen
set PFAD-T0206=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER06=%-USER3-%
set DATEI06=Outlook.pst

set PFAD-T0107=c$\Dokumente und Einstellungen
set PFAD-T0207=Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook
set USER07=%-USER4-%
set DATEI07=adminarchive.pst

set PFAD-T0108=
set PFAD-T0208=
set USER08=
set DATEI08=


IF NOT EXIST "\\Szt0103\Software\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" (copy "\\%PC%\%PFAD-T0101%\%USER01%\%PFAD-T0201%\%DATEI01%" "\\M1-3PC013\C$\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" /y) ELSE goto Zeile02  
:Zeile02
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" (copy "\\%PC%\%PFAD-T0102%\%USER01%\%PFAD-T0202%\%DATEI02%" "\\M1-3PC013\C$\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" /y) ELSE goto Zeile03  
:Zeile03
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER03%\archiv_%PC%_%Date%_03.pst" (copy "\\%PC%\%PFAD-T0103%\%USER01%\%PFAD-T0203%\%DATEI03%" "\\M1-3PC013\C$\Outlook\%USER03%\archiv_%PC%_%Date%_03.pst" /y) ELSE goto Zeile04  
:Zeile04
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER04%\archiv_%PC%_%Date%_04.pst" (copy "\\%PC%\%PFAD-T0104%\%USER01%\%PFAD-T0204%\%DATEI04%" "\\M1-3PC013\C$\Outlook\%USER04%\archiv_%PC%_%Date%_04.pst" /y) ELSE goto Zeile05  
:Zeile05
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER05%\archiv_%PC%_%Date%_05.pst" (copy "\\%PC%\%PFAD-T0105%\%USER01%\%PFAD-T0205%\%DATEI05%" "\\M1-3PC013\C$\Outlook\%USER05%\archiv_%PC%_%Date%_05.pst" /y) ELSE goto Zeile06  
:Zeile06
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER06%\archiv_%PC%_%Date%_06.pst" (copy "\\%PC%\%PFAD-T0106%\%USER01%\%PFAD-T0206%\%DATEI06%" "\\M1-3PC013\C$\Outlook\%USER06%\archiv_%PC%_%Date%_06.pst" /y) ELSE goto Zeile07  
:Zeile07
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER07%\archiv_%PC%_%Date%_07.pst" (copy "\\%PC%\%PFAD-T0107%\%USER01%\%PFAD-T0207%\%DATEI07%" "\\M1-3PC013\C$\Outlook\%USER07%\archiv_%PC%_%Date%_07.pst" /y) ELSE goto Zeile08  
:Zeile08
IF NOT EXIST "\\Szt0103\Software\Outlook\%USER08%\archiv_%PC%_%Date%_08.pst" (copy "\\%PC%\%PFAD-T0108%\%USER01%\%PFAD-T0208%\%DATEI08%" "\\M1-3PC013\C$\Outlook\%USER08%\archiv_%PC%_%Date%_08.pst" /y) ELSE (Exit)  

Zu beachten ist, dass bei einem Benutzernamen mit mehr als 11 Zeichen dieser abgeschnitten wird. Er steht dann direkt mit dem Archivnamen zusammen. Dies Habe ich im Logfile mit "USERNAMELANGganz" und "USERNAMELANG" gekennzeichnet. Der Einzug vom Linken Seitenrand ist beim Archivnamen immer gleich. Außerdem kann sich der "-USERNAME-" vom "USERNAMEN" unterscheiden. Wenn z.B. ein zweites Profil erstellt wurde. Ich bin für jede Hilfe dankbar. Falls noch Fragen ungeklärt sind bitte einfach fragen, ich werde sie so gut ich kann beantworten. Im Logfile stehen natürlich keine Variablen, aber aus datenschutzrechtlichen Gründen musste ich den Inhalt etwas anonymisieren.

Content-Key: 180097

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

Printed on: April 18, 2024 at 07:04 o'clock

Member: Brother-Tuck
Brother-Tuck Feb 09, 2012 at 08:19:20 (UTC)
Goto Top
Keiner eine Idee?

Fehlt euch ne Info oder sonst noch was?

Wäre wirklich super wenn mir jemand weiterhelfen könnte.

Danke.

Gruß Brother-Tuck
Member: Brother-Tuck
Brother-Tuck Feb 21, 2012 at 16:08:51 (UTC)
Goto Top
Neuer Versuch, vielleicht kann mir damit jemand helfen:

for /f "usebackq" %%s in ("\\192.168.0.103\Software\Outlook\__\COMPUTER-Lansweeper.txt") do (  
	(
echo set PC=%%s
echo\
echo set PFAD-T0101=
echo set PFAD-T0201=
echo set USER01=
echo set DATEI01=
echo\
echo set PFAD-T0102=
echo set PFAD-T0202=
echo set USER02=
echo set DATEI02=
echo\
echo IF NOT EXIST "\\192.168.0103\Software\Outlook\%%USER01%%\archiv_%%PC%%_%%Date%%_01.pst" (copy "\\%%PC%%\%%PFAD-T0101%%\%%USER01%%\%%PFAD-T0201%%\%%DATEI01%%" "\\192.168.0103\Software\Outlook\%%USER01%%\archiv_%%PC%%_%%Date%%_01.pst" /y^) ELSE goto Zeile02  
echo :Zeile02
echo IF NOT EXIST "\\192.168.0103\Software\Outlook\%%USER02%%\archiv_%%PC%%_%%Date%%_02.pst" (copy "\\%%PC%%\%%PFAD-T0102%%\%%USER02%%\%%PFAD-T0202%%\%%DATEI02%%" "\\192.168.0103\Software\Outlook\%%USER02%%\archiv_%%PC%%_%%Date%%_02.pst" /y^) ELSE (Exit^)  
	)>"\\192.168.0.103\Software\Outlook\__\Outlook-Copy-Archive\21022012\%%s.cmd"  
)

COMPUTER-Lansweeper.txt = Textdokument mit Computernamen, einer in jeder Zeile

wenn ich die Batchdatei ausführe erhalte ich eine Batchdatei mit folgendem Inhalt:

set PC=Computername
set PFAD-T0101=
set PFAD-T0201=
set USER01=
set DATEI01=

set PFAD-T0102=
set PFAD-T0202=
set USER02=
set DATEI02=


IF NOT EXIST "\\192.168.0.103\Software\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" (copy "\\%PC%\%PFAD-T0101%\%USER01%\%PFAD-T0201%\%DATEI01%" "\\192.168.0.103\Software\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" /y) ELSE goto Zeile02  
:Zeile02
IF NOT EXIST "\\192.168.0.103\Software\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" (copy "\\%PC%\%PFAD-T0102%\%USER02%\%PFAD-T0202%\%DATEI02%" "\\192.168.0.103\Software\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" /y)  (Exit)  


Wenn ich jetzt ein Logfile habe, dessen Inhalt wie folgt lautet:

 Datentr„ger in Laufwerk \\Computername\c$: ist SYSTEM
 Volumeseriennummer: XXXX

 Verzeichnis von \\Computername\c$\Users\%Username1%\Desktop

31.10.2011  15:42         6.366.208 VORDEFINIERT\Admin     test.pst
               1 Datei(en),      6.366.208 Bytes

 Verzeichnis von \\M1-4pc035\c$\Users\%Username2%\AppData\Local\Microsoft\Outlook

16.08.2011  10:31           271.360 VORDEFINIERT\AdministraOutlook.pst

und ich denn inhalt meiner Batchdatei hinzufügen möchte, wie mache ich dann das?

Das Ziel Soll wie folgt aussehen:

set PC=Computername
set PFAD-T0101=c$\Users
set PFAD-T0201=Desktop
set USER01=%Username1%
set DATEI01=test.pst

set PFAD-T0102=c$\Users
set PFAD-T0202=AppData\Local\Microsoft\Outlook
set USER02=%Username2%
set DATEI02=Outlook.pst


IF NOT EXIST "\\192.168.0.103\Software\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" (copy "\\%PC%\%PFAD-T0101%\%USER01%\%PFAD-T0201%\%DATEI01%" "\\192.168.0.103\Software\Outlook\%USER01%\archiv_%PC%_%Date%_01.pst" /y) ELSE goto Zeile02  
:Zeile02
IF NOT EXIST "\\192.168.0.103\Software\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" (copy "\\%PC%\%PFAD-T0102%\%USER02%\%PFAD-T0202%\%DATEI02%" "\\192.168.0.103\Software\Outlook\%USER02%\archiv_%PC%_%Date%_02.pst" /y)  (Exit)  

Zu beachten ist, dass im Logfile der Username bei 10 Zeichen abgeschnitten wird. Das heißt, der 11 Buchstabe ist der erste Buchstabe des Putlookarchives:
VORDEFINIERT\AdministraOutlook.pst
Daraus folgt, der Archivname lautet Outlook.pst

Falls jemand eine Idee hat wie dies zu realisieren ist, wäre ich sehr dankbar.

Vielen Dank.
Member: Brother-Tuck
Brother-Tuck Mar 22, 2012 at 09:35:00 (UTC)
Goto Top
Ich schließ meine Anfrage mal
Mir scheint es nicht so, als ob einer eine Idee hätte.