Blue Flower

Lokalen Ordner am PC anpassen (verschieben)

Um den Ordner einfach nur zu verschieben muss über die Einstellungen der lokale Ordner verschoben werden. Rechte Maustaste auf das Icon im Systemtray klicken, Einstellungen auswählen, zum Register Syncronisation wechseln und oben über den Button verschieben den neuen Speicherplatz im Dateisystem auswählen. Herbei kann nur der übergeordnete Ordner ausgewählt werden. Der Ordner MagentaCLOUD wird dann dorthin verschoben. Es bleib aber als Name für den Sicherungsorder immer MagentaCLOUD.
Die MagentaCloud.App legt für jeden Benutzer in seinem USERPROFILE Ordner den Speicherplatz für den Datenaustausch an.
z.B. c:\Users\[USERNAME]\MagentaCLOUD. (Über den Windows-Explorer wird der Ordner user erst einmal als Benutzer angezeigt)

 

Eigenen lokalen Ordner am PC festlegen (nicht "MagentaCLOUD" als Namen für den Sicherungsordner)

Anmerkung: Damit ein Eintrag in der Datenbank zu finden ist muss zumindest ein Abgleich erfolgt sein. Es reicht schon wenn MagentaCloud begonnen hat Daten zu Syncronisieren
Der Sicherungs-Ordner muss via DB Browser for SQLite Portable angepasst werden, da die Daten in einer SQLite Datenbank gepeichert sind.

0.) MagentaCloud beenden!
1.) DB Browser for SQLite Portable herunterladen entpacken und starten.
2.) Folgende Datenbank-Datei öffnen: %LOCALAPPDATA%\MagentaCLOUD\Data\user.db (Aufruf mit Systemvariablen)
3.) Auf Register "Daten durchsuchen" wechseln. Tabelle user sollte eigentlich schon ausgwählt sein.
    Folgende Einträge der Felder "DownloadsFolderPath" und "SyncFolderPath" auf die gewünschten Pfade anpassen.
    Button "Änderungen schreiben" anklicken und somit die Datenbank zu aktualisieren.
    DatenbankEditor beenden.
z.B. Inhalt des Feldes DownloadsFolderPath von "c:\Users\[user]\MagentaCLOUD\.cache" nach "d:\daten\.cache" und
      Inhalt des Feldes SyncFolderPath "c:\Users\[user]\MagentaCLOUD" nach "d:\daten" ändern
4.) Den kompletten Inhalt des alten Ordners in den neuen verschieben!
5.) MagentaCloudApp starten.

db manager sqlite

 

MagentaCloudApp nur "von Hand" starten

* App mit der rechten Maustaste anklicken und auf Einstellungen gehen. Im Register Allgemein das Häckchen entfernen bei "MagentaClOUD bei Systemstart starten"
* Den Link um die MagentaCloudApp zu starten mit einem Parameter anpassen damit nicht immer der Ordner geöffnet wird 

  "C:\Program Files (x86)\Telekom\MagentaCloud\MagentaCloud.App.exe" /hideexp

 

Mehrere Benutzerkonten verwenden

Wenn ohne jedes mal Benutzerdaten eingeben zu müssen mehrere Benuzterkonten verwendet werden sollen müssen ein paar Schritte erledigt werden.
Es können aber nicht meherere Clound-Zugänge zur selben Zeit verwendet werden. Leider nur nach einander. Per Script ist das recht einfach zu erledigen (s.U.).

Folgendes muss dabei beachtet und nacheinander erledigt werden.

1. MagentaCloud.App starten und die Zugangsdaten für den 1. Account eingeben.
2. Order wie oben beschriebenen  anpassen.
3. MagentaCloud.App  schließen und eine Kopie des Ordners anlegen "c:\Users\[USERNAME]\AppData\Local\MagentaCLOUD"
    z.B. "c:\Users\[USERNAME]\AppData\Local\MagentaCLOUD_Account_1"
   und danach den kompletten Inhalt in den 2. Ordner verschieben.
4. MagentaCloud.App erneut starten und die Zugangsdaten für den 2. Account eingeben.
5. Punkt 2 und 3 wiederholen. (Der 3. Ordner sollte z.B. mit "_Account_2" enden)
explorer magentaclound accounts

 6. Ein WSH-Script welches das Programm x mal startet mit unterschiedlichen Einstellungen

MagentaClound_Backup_auf_mehere_Konten.bat

cscript.exe /nologo MagentaClound_Backup_auf_mehere_Konten.wsh

 
MagentaClound_Backup_auf_mehere_Konten.wsh

Option Explicit
'--------------------------------------------------
' Version 1.0
' Mit diesem Script können beliebig viele MagentaClound Zugänge verwendet werden.
' Aber immer nur nacheinander und nicht zur selben Zeit.
' Das Script prüft ob die MagentaClound.App läuft und beendet diese wenn keine Daten mehr sycronisiert werden.
' Danach werden die einzelnen Konten nach einander aufgerufen
'--------------------------------------------------

Dim oWsh, oFS, oWmi, oSel, oO, oFF, oProcess, sPF, sPF86, sPFDim, iWartezeit, closeApps, CPUuse,closeWindowsExplorerFolder
Dim i, j, p, k, iMagentaClound, sMagentaClound, sMagentaCloudLocalAppData, sCMD, sTmp, arrAccountFolders
Const cAppMagentaClound = "MagentaCloud.App.exe" ' Hier des Dateinamen des Clound-Programms eintragen
Const cAppMagentaCloundParameter = " /hideexp" ' Mit diesem Startparameter wird kein Explorer-Fenster des MagentaCloud-Ordner geöffnet
Const cSpace = " ", cDQ = """", cSQ = "'", cCopy = "XCOPY /Y /V /H /S " ' ------------------------------------------------------------------ ' --- Script-Einstellungen ----------------------------------------- ' ------------------------------------------------------------------ ' Hier werden die Ordnernamen-Erweiterungen eingetragen für die jeweiligen Accounts ' Der Eintrag kann absolut sein, also mit ganzen Pfad ' oder ' wenn sie gleichen Appdata\local liegen nur den Appendix ' z.B. "c:\Users\[USER]\AppData\Local\MagentaCLOUD_account_1" arrAccountFolders = Array("_Account_1", "_Account_2") ' Sollte eine bestimmte MagentaClound-Verbidnung dauerhaft aktiv sein dann diese als letze in arrAccountFolders eintragen und cCloseApp auf False setzen Const cCloseApp = False ' Soll der PC nach der Sicherung heruntergefahren werden Const cfShuddown = False ' MagetaCoud.App öffnen beim Start den lokalen Syn-Ornder. Das Script kann die lokalen Sync-Ordner nicht auslesen daher können diese angegeben werden. ' Der original-Ordner-Name "MagentaCLOUD" muss nicht eingegtragen werden closeWindowsExplorerFolder = Array("") ' Programme schließen, welche Dateien beim öffnen sperren (Komma getrennt) z.B. "outlook.exe" closeApps = Array("outlook.exe") ' ------------------------------------------------------------------ ' --- Parameter vorbelegen ----------------------------------------- ' ------------------------------------------------------------------ Set oWsh = CreateObject("WScript.Shell") Set oFS = CreateObject("Scripting.FileSystemObject") Set oWmi = GetObject("winmgmts:\\.\root\cimv2") sCMD = oWsh.ExpandEnvironmentStrings("%COMSPEC%") & " /C " sPF86 = oWsh.ExpandEnvironmentStrings("%ProgramFiles(x86)%") sPF = oWsh.ExpandEnvironmentStrings("%ProgramFiles%") sMagentaCloudLocalAppData = oWsh.ExpandEnvironmentStrings("%LOCALAPPDATA%") & "\MagentaCloud" sMagentaClound = wrap(sPF86 & "\Telekom\MagentaCloud\" & cAppMagentaClound, cDQ, False) ) & cAppMagentaCloundParameter '"C:\Program Files (x86)\Telekom\MagentaCloud\MagentaCloud.App.exe" ' ------------------------------------------------------------------ ' --- Funktionen --------------------------------------------------- ' ------------------------------------------------------------------ ' Prozess-ID auslesen und ggf. das Programm beenden Function get_pid(programm, fkill) get_pid = 0 If IsObject(oWmi) Then 'On Error Resume Next Set oSel = oWmi.ExecQuery ("Select * from Win32_Process Where Name = '" & programm & cSQ ) For Each oO In oSel get_pid = oO.ProcessId 'True 'oO.processID If fkill Then oO.Terminate Next End If End Function ' Bei Leezeichen die Zeichenkette einpacken Function wrap(v, sWrap, fForce) Dim va, s va = v If va <> vbNullString Then If InStr(1, va, cSpace, vbTextCompare) Or fForce Then va = sWrap & va & sWrap End If wrap = va End Function ' Soll eine Anwendung geschlossen werden Function closeApplication() Dim obj, s, i, j, k 'Sanftes Schließen der Anwendung hier z.B. Outlook j = ubound(closeApps) If j < 0 Then Exit Function 'If closeApps(0) = vbNullString Then Exit Function On Error Resume Next For i = 0 To j Set obj = Nothing s = closeApps(i) Select Case LCase(s) Case "outlook", "outlook.exe" 'Alles weiteren Produkte von Office öffnen nicht sperrend Set obj = GetObject(, "Outlook.Application") If Not obj Is Nothing Then j = obj.Inspectors.count For k = 1 To j obj.Inspectors.Item(k).close 0 'olSave WScript.Sleep 500 Next obj.Quit Set obj = Nothing WScript.Sleep 500 Else Err.Clear End If End Select Next j = UBound(closeApps) For i = 0 To j If closeApps(i) = "outlook" Then s = "outlook.exe" ElseIf Right(closeApps(i), 4) = ".exe" Then s = closeApps(i) Else s = vbNullString End If If s <> vbNullString Then k = get_pid(s, True) End If Next End Function ' Diese Funktion prüft 4 x hintereinander ob die Anwendung CPU-Zeit in Anspruch nimmt Function CPUUSage(sAppName) Dim N1, D1, N2, D2, k, s, x Dim oProcess, oSelA, oSelID Const cS = "Select * from Win32_PerfRawData_PerfProc_Process where IDProcess = " On Error Resume Next s = "Select * from Win32_Process where Name = " & wrap(sAppName, cSQ, True) Set oSelA = oWmi.ExecQuery(s) For k = 1 To 4 For each oProcess in oSelA s = cS & wrap(oProcess.Handle, cSQ, True) For Each oSelID in oWmi.ExecQuery(s) N1 = oSelID.PercentProcessorTime D1 = oSelID.TimeStamp_Sys100NS Exit For Next WScript.Sleep 2000 For Each oSelID in oWmi.ExecQuery(s) N2 = oSelID.PercentProcessorTime D2 = oSelID.TimeStamp_Sys100NS Exit For Next x = x + Round((N2 - N1) / (D2 - D1) * 100, 4) Next WScript.Sleep 1000 CPUUSage = CPUUSage + x Next Set oSelA = Nothing End Function ' ------------------------------------------------------------------ ' --- Programmteil ------------------------------------------------- ' ------------------------------------------------------------------ ' Ist MagentaCLOUD schon gestartet? Wenn ja schießen. iMagentaClound = get_pid(cAppMagentaClound, false) If iMagentaClound <> 0 Then ' MagentaClound läuft gerade und es ist nicht klar welcher Account gerade aktiv ist ' Das Script wartet jetzt so lange bist die MagentaClound.App keine Aktivät zeigt. Somit müsste der Datenausgleich beendet sein. Do Loop Until CPUUSage(cAppMagentaClound) = 0 iMagentaClound = get_pid(cAppMagentaClound, True) End If closeApplication j = UBound(arrAccountFolders) 'Nach und nach die Accounts durchlaufen For i = 0 To j Set oFF = oFS.GetFolder(sMagentaCloudLocalAppData) ' Ordner löschen mit den Zugangsdaten für MagentaCloud For Each oO In oFF.SubFolders oO.Delete Next Set oFF = Nothing If InStr(1, arrAccountFolders(i), ":") Then sTmp = sCMD & cCopy & wrap(arrAccountFolders(i) & "\*", cDQ, False) & cSpace & wrap(sMagentaCloudLocalAppData, cDQ, False) Else sTmp = sCMD & cCopy & wrap(sMagentaCloudLocalAppData & arrAccountFolders(i) & "\*", cDQ, False) & cSpace & wrap(sMagentaCloudLocalAppData, cDQ, False) End If k = oWsh.Run(sTmp, 0, True) If k = 0 Then oWsh.Run sMagentaClound Do Loop Until CPUUSage(cAppMagentaClound) = 0 End If 'MagentaClound.app abschießen If cCloseApp Or i < j Then iMagentaClound = get_pid(cAppMagentaClound, True) End If WScript.Sleep 5000 Next ' Die von MagentaCloudn.app geöffneten Fentser wieder schließen j = UBound(closeWindowsExplorerFolder) For i = 0 To j If oWsh.AppActivate(closeWindowsExplorerFolder(i)) Then oWsh.sendkeys "%{F4}~" WScript.Sleep 250 End if Next If oWsh.AppActivate("MagentaCLOUD") Then oWsh.sendkeys "%{F4}~" 'oWsh.Popup "Sicherung abgeschlossen", 10, "" , vbOK If cfShuddown Then 'If oWsh.Popup("Windows herunterfahren ?", 30, "", vbYesNo + vbDefaultButton1) = vbYes Then oWsh.Run "shutdown.exe /p /f", 0, False 'End If End If Set oWsh = Nothing Set oFS = Nothing Set oWmi = Nothing

 

Anmerkung: Mit GoogleDrive ist dies nicht notwendig da es erlaubt ist mehrere Verbindungen gleichzeitig zu halten.