Beiträge von Mira_Belle
-
-
Habe es gerade ausprobiert!
Wie Sören schreibt, kannst Du jedes Lesezeichen per darg & drop von einer Bibliothek in die andere ziehen.
-
Und ich habe das Gefühl, mich rechtfertigen zu müssen!
Das war die Antwort auf .DeJaVu.
Und die Begründung, warum ich von einer falschen Annahme aus ging.Ist das nicht erkenntlich?
Ich editiere mal den obigen Beitrag!
Sage mir bitte, ob ich es so in Zukunft machen soll.
Und danach kann ja "unsere" Konversation gelöscht werden, weil OT. -
OH, ich bitte tausendmal um Entschuldigung wegen der falschen Interpretation seines Threads!
Wenn ich meinen Irrtum eingesehen habe, und in einem weiteren Beitrag korrigiert habe,
Wenn es aber wirklich um Lesezeichen, abgespeichert in der "places.sqlite" geht, sollte es auch gehen!
Dann muss (kann man) ein neues Profil angelegt werden und die entsprechenden "places.sqlite" aus dem gesicherten
Profil dorthin kopiert werden.
Wenn er nun dieses Profil beim Starten des FF auswählt, sollte er die "alten" Lesezeichen inkl. des gelöschten Ordners wieder haben.Wenn alles geklappt hat, kann das "neue" Profil wieder über das FF-Menü gelöscht werden.
warum in Gottesnamen muss dann immer noch mal "nachgetreten" werden?
Verstehe ich nicht! -
.DeJaVu Er schrieb von einem Ordner!
Nicht von Lesezeichen innerhalb des Firefoxes.ZitatIch brauche nur diesen einen Ordner!!
@ALL
Wenn es aber wirklich um Lesezeichen, abgespeichert in der "places.sqlite" geht, sollte es auch gehen!
Dann muss (kann man) ein neues Profil angelegt werden und die entsprechenden "places.sqlite" aus dem gesicherten
Profil dorthin kopiert werden.
Wenn er nun dieses Profil beim Starten des FF auswählt, sollte er die "alten" Lesezeichen inkl. des gelöschten Ordners wieder haben.Wenn alles geklappt hat, kann das "neue" Profil wieder über das FF-Menü gelöscht werden.
Man kann die Sicherung in ein neues Firefox-Profil einspielen, dann jeweils die Bibliothek öffnen und die Lesezeichen per Drag & Drop kopieren.
Sorry, weniger Worte, habe ich überlesen.
-
Es sollte doch möglich sein aus einem Acronis Backup entweder per "copy & paste" einzelne Ordner zu kopieren,
oder diese über das Programm wieder herstellen zu lassen.Per "copy & paste" kann ich sogar einzelne Dateien und Ordner an jedem anderen Ort meiner Laufwerke "wieder herstellen".
Gerade eben selber ausprobiert.Im Explorer das Backup doppelt anklicken. Wird wohl eine "XXXX.tibx" sein.
Es öffnet sich darauf ein weiteres Explorerfenster, dort das Backup auch wieder doppelt anklicken.
Nun siehst Du eine LW-Strucktur, ich vermute das Du Deine "Lesezeichen irgendwo auf C:\ hast,
Doppelklicken, und so durchhangeln, bis Du Deine "Lesezeichen" gefunden hast.
Dann einfach diesen Ordner markieren und im anderen Explorerfenster an einen vorher ausgewählten "Platz" ablegen.
Fertig. -
du hast die *INNEN vergessen
(musste nun mal sein - hab dich auch lieb
)Immer mit dem Strom zu schwimmen, kann ja jeder.


-
Oh, das wusste ich nicht! Dann hat sich das ja erledigt.
-
Er könnte eventuell ein JavaScript nutzen.
BeitragRe: TranslateGoogles.uc.js
// Wer lieber mit Deepl übersetzen will:
Hier ist eine Modifikation nicht nötig:
Siehe weiter unten im Thread...
(Quelltext, 35 Zeilen)
Boersenfeger15. März 2019 um 12:07 -
Danke.
-
Käse.
Mit dieser Abänderung des Skripts zum Ausschließen einiger Unterordner der Profile
kommt das Skript nie zum Ende.Code
Alles anzeigenif ($HS.Action) { # Entferne führende und nachfolgende Leerzeichen und den führenden Backslash $basePath = $Textbox[0].Text.Trim().Replace('"', '') $subPath = $Textbox[1].Text.Trim().TrimStart('\') $LogPfad = Join-Path -Path $basePath -ChildPath $subPath # Sicherstellen, dass das Zielverzeichnis existiert if (!(Test-Path -Path $LogPfad)) { New-Item -ItemType Directory -Path $LogPfad -Force | Out-Null } $profileZip = Join-Path -Path $LogPfad -ChildPath "profile.zip" # Profilordner und auszuschließende Ordner $profileBasePath = "$env:appdata\Mozilla\Firefox\Profiles" $profiles = Get-ChildItem -Directory -Path $profileBasePath $excludeDirs = @("bookmarkbackups", "crashes", "minidumps", "saved-telemetry-pings","sessionstore-backups","shader-cache") # Kompression der Profile mit Ausschluss bestimmter Ordner $profilePaths = @() foreach ($profile in $profiles) { $profileDir = Join-Path -Path $profileBasePath -ChildPath $profile.Name $profileItems = Get-ChildItem -Path $profileDir -Recurse | Where-Object { $excludeDirs -notcontains $_.Parent.Name } $profilePaths += $profileItems } Compress-Archive -Path $profilePaths -DestinationPath $profileZip -CompressionLevel NoCompression if ($Checkbox[0].Checked) { $programZip = Join-Path -Path $LogPfad -ChildPath "program.zip" if (Test-Path $programZip) { Remove-Item -Force $programZip } Compress-Archive -Path "$env:ProgramFiles\Mozilla Firefox" -DestinationPath $programZip -CompressionLevel NoCompression } }Jemand eine bessere Idee?
-
USB-Kabel, ja eh, aber das braucht keinen stationären Festnetz- bzw. TV-Kabelanschluss. Ist also wesentlich praktischer.
Speziell auch, wenn man umzieht, wie ich vor 3 Jahren. Ich verwende seit Jahren meine zwei, drei Handys als USB-Router und Telefon. 5G-Router hab ich nie verwendet.

OK, Du scheinst ja ein ganz moderner Mensch zu sein. Das ist OK, aber ich brauche z.B. für viele Dinge eben auch noch einen Drucker, auch haben wir ein Netzwerk.
Lebe in Hessen und da hier gefühlt Vodafone sowieso in jeder Wohnung ist (Multimediadose) und wir schnelles I-Net haben wollen,
gibt es eine Fritz!Box. Eventuell sähe das anders aus, wenn ich zwanzig wäre und alleine wohnen würde. -
Die Größe ist von der Größe des Profils und die Zeit ebenfalls davon sowie von der Hardware abhängig. Daher sind die Werte unterschiedlicher Nutzer nicht miteinander vergleichbar. Im anderen Thread hatte ich Mira_Belle nur deswegen danach gefragt, um zu erfahren, wie ihre Lösung im Vergleich zur Firefox-Lösung abschneidet, da sie ihre eigene Methode ja getestet hat und die Zahlen dann hätte miteinander vergleichen können. Wenn du ihr Script testest, könntest du deine Zahlen aber auch miteinander vergleichen.

Ich habe keine Vorabversion, oder Beta vom Firefox am Start.
Von daher kann ich das nicht vergleichen.
Aber ich vermute mal, dass die interne Lösung schneller und auch kleinere BackUps liefert,
da ja gewisse Dateien und Ordner ausgeschlossen werden.
Ich denke, das wird meine nächste Baustelle, denn eigentlich soll ja nur das Nötigste gesichert werden.Ob jemand so lieb wäre mir eine Liste zu erstellen, welche Dateien und Ordner gesichert werden müssen?
Oder ist in dem JavaScript, welches hier on Board gibt, schon alles Wesentliche enthalten? -
Drachen Du warst mit dem "mich angehen auch nicht" unbedingt gemeint!
Was ich auch nicht verstehe, ist andauernd den Spruch, dass jemand dieses Skript gar nicht braucht!
Dieser Thread wurde von mir eröffnet als Vorstellung und zur Hilfe suche!Aber Gegenfrage, wenn jemand etwas nicht braucht, ist es dann normal, dass man das nicht gebrauchte schlecht macht
und Kommentare hinterlässt, brauch’ ich nicht, ist doch eh Blödsinn?
Denke eher nicht.
Also ich zumindest gebe nicht in jedem Thread, hier on Board, solche Kommentare ab,
ob wohl ich das eine oder andere JavaScript nicht gebrauchen kann.
Und dennoch installiere ich es mir, wenn jemand Probleme damit hat,
um ihm eventuell helfen zu können, wenn ich denn Zeit und Muße dazu habe und das Skript auch verstehe.Zu Deinem Vorschlag, bzw, der Frage mit den Pfaden,
ja, da bin ich noch dran, aber das ist für mich gar nicht so einfach.
Du hast ja mitbekommen, dass ich noch am Üben bin.Ich habe jetzt erst einmal die Ausgabefenster bearbeitet und bei dem Skript ohne 7-ZIP
einen Fehler behoben, was für mich so gar nicht einfach war.Und zu der Backupstrategie!
Natürlich hat auch da jeder eine andere Vorstellung,
Kann man so machen, wie Du es machst, was wie ich finde gut und richtig ist.
Nur ich fummele doch hin und wieder in den Firefoxprofilen rum, nur so als Beispiel,
soll ich deswegen jedes Mal ein Vollbackup machen?
Das Skript als EXE, ein Doppelklick, fertig.
Auch vor jedem Update mache ich das so, da aber dann mit Programmpfad.Genug der Begründungen und Erklärungen, wie geschrieben habe ich an den beiden Skripten noch etwas gearbeitet.
Die Ausgabefenster während des Packens werden von den Anwendungen generiert,
da habe ich leider keinen Einfluss drauf. Ob es dennoch geht, ich weiß es nicht.
Wenn die Skripte als EXE umgewandelt werden, sieht das Ausgabefenster bei der Version
ohne 7-Zip auch viel schöner aus.Hier mal beide Versionen der Skripte für jene, die es mal ausprobieren wollen.
Für Rückmeldungen wäre ich dankbar, wenn Fehler entdeckt werden sowieso, und wenn jemand noch eine Idee,
außer der "Automatischen suche der Pfaden", auch gut.1. Skript, 7-Zip muss installiert sein!
Code
Alles anzeigenAdd-Type -A System.Windows.Forms #region Grundeinstellungen $7z = "$env:ProgramFiles\7-zip\7zG.exe" $Reg = "HKCU:\Software\FF_Backup" $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif", 12) [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold) ) [Windows.Forms.Application]::EnableVisualStyles() #endregion # Funktion zur Anzeige des Hinweisfensters function Show-FirefoxRunningDialog { $Form = [Windows.Forms.Form]@{ Text = "Hinweis" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,155" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{ Font = $Fonts[0] Margin = '10,10,10,10' AutoSize = $true Text = "Firefox wird noch ausgeführt. Soll Firefox beendet werden?" } $OKButton = [Windows.Forms.Button]@{ Size = "120,40" Text = "OK" Font = $Fonts[1] Margin = '10,10,10,10' } $OKButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::OK $Form.Close() }) $CancelButton = [Windows.Forms.Button]@{ Size = "120,40" Text = "Abbrechen" Font = $Fonts[1] Margin = '10,10,10,10' } $CancelButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::Cancel $Form.Close() }) $Flow.Controls.Add($OKButton) $Flow.Controls.Add($CancelButton) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 0, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) return $Form.ShowDialog() } # Überprüfen, ob Firefox noch läuft und entsprechend handeln if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $result = Show-FirefoxRunningDialog if ($result -eq [System.Windows.Forms.DialogResult]::OK) { Get-Process "Firefox" | Stop-Process } else { exit } } #region Fensterelemente $Form = [Windows.Forms.Form]@{ Text = "Firefox4backup" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,240" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Open = [Windows.Forms.Button]@{ Size = "100,40" Text = "Speicherort" Font = $Fonts[0] Anchor = 'Left' } $Textbox = @( [Windows.Forms.TextBox]@{ Font = $Fonts[0] Margin = '10,10,0,10' Size = "80,50" Dock = 'Fill' }, [Windows.Forms.TextBox]@{ Font = $Fonts[1] Margin = '10,10,10,10' Dock = 'Fill' Text = " \BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')" Enabled = $false } ) $Checkbox = @( [Windows.Forms.Checkbox]@{ Text = "Programmverzeichnis sichern" AutoSize = $true Font = $Fonts[0] Margin = '10,10,0,10' }, [Windows.Forms.Checkbox]@{ Text = "vorhandenen Ordner überschreiben" AutoSize = $true Font = $Fonts[0] Margin = '10,0,10,10' Visible = $false } ) $HS = @{ Run = [Windows.Forms.Button]@{ Size = "120,40" Text = "Ausführen" Font = $Fonts[1] Margin = '10,10,10,10' Enabled = $false } SavePath = $false overwrite = $true } #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 240)) $Table.Controls.Add($Open, 0, 0) $Table.Controls.Add($Textbox[0], 1, 0) $Table.Controls.Add($Textbox[1], 2, 0) $Table.Controls.Add($Checkbox[0], 0, 3) $Table.Controls.Add($Checkbox[1], 0, 4) $Table.Controls.Add($Flow, 0, 5) $Table.SetColumnSpan($Checkbox[0], 3) $Table.SetColumnSpan($Checkbox[1], 3) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) $Form.Size = "565,250" # Hier die Größe des Formulars setzen #endregion #region Runspace # Firefox-Status überwachen $RS = [powershell]::Create().AddScript({ while ($true) { if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $HS.FirefoxRunning = $true } else { $HS.FirefoxRunning = $false $HS.Run.Enabled = $HS.SavePath -and $HS.overwrite } } }) $RS.Runspace.SessionStateProxy.SetVariable('HS', $HS) #endregion #region Events $Form.Add_Load({ $HS.handle = $RS.BeginInvoke() if (Test-Path $Reg) { $Textbox[0].Text = Get-ItemPropertyValue $Reg "(default)" -ErrorAction SilentlyContinue } [void]$this.ActivateControl($Checkbox[0]) }) $Form.Add_Closed({ [void]$RS.Stop() }) $Form.Add_KeyDown({ switch ($_.KeyCode) { 'Return' {$HS.Run.PerformClick()} 'Escape' {$this.Hide()} } }) $HS.Run.Add_Click({ $this.TopLevelControl.Hide() $HS.Action = $true $HS.BackupCompleted = $true Set-ItemProperty -Path $Reg -Name "(default)" -Value $Textbox[0].Text.Replace('"', '') -Force }) $Textbox.Add_TextChanged({ if ($this.Text -and (Test-Path $this.Text.Replace('"', ''))) { $HS.SavePath = $true if (Test-Path (Join-Path $this.Text.Replace('"', '') "BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')")) { $Checkbox[1].Visible = $true $HS.overwrite = $false } else { $Checkbox[1].Visible = $false $HS.overwrite = $true } } else { $HS.SavePath = $false } }) $Open.Add_Click({ $Browse = [Windows.Forms.FolderBrowserDialog]@{ RootFolder = "MyComputer" SelectedPath = if ($HS.SavePath) {$Textbox.Text.Replace('"', '')} } if ($Browse.ShowDialog() -eq 'ok') {$Textbox[0].Text = $Browse.SelectedPath} }) $Checkbox[1].Add_CheckStateChanged({ $HS.overwrite = $this.Checked }) #endregion #region Ausführung [void]$Form.ShowDialog() $RS.Dispose() #endregion if ($HS.Action) { $LogPfad = Join-Path $Textbox[0].Text.Replace('"', '') $Textbox[1].Text.SubString(1) if (Test-Path "$LogPfad\Profilverzeichnis.zip") {Remove-Item -Force "$LogPfad\Profilverzeichnis.zip"} &$7z a -mx5 -bso0 -bsp1 "$LogPfad\Profilverzeichnis.zip" "$env:appdata\Mozilla\Firefox\Profiles" | Out-String -Stream | Select-String -Pattern "\d+(?=%)" -AllMatches | ForEach-Object { Write-Progress -Activity "Profilverzeichnis wird archiviert... " -PercentComplete ([int]$_.Matches.Value) -Status " " } if ($Checkbox[0].Checked) { if (Test-Path "$LogPfad\Programmverzeichnis.zip") {Remove-Item -Force "$LogPfad\Programmverzeichnis.zip"} &$7z a -mx5 -bso0 -bsp1 "$LogPfad\Programmverzeichnis.zip" "$env:ProgramFiles\Mozilla Firefox" | Out-String -Stream | Select-String -Pattern "\d+(?=%)" -AllMatches | ForEach-Object { Write-Progress -Activity "Programmverzeichnis wird archiviert... " -PercentComplete ([int]$_.Matches.Value) -Status " " } } $date = Get-Date -Format "yyyy.MM.dd - HH.mm.ss" $datum = Get-Date -Format "dd.MM.yyyy" if (!(Test-Path ("$LogPfad\Sicherung am $date.txt"))) { $FF_Version = Get-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where-Object { $_.DisplayName -like "*firefox*" } | Select-Object -ExpandProperty DisplayVersion $Logfile = (New-Item -Path "$LogPfad\Sicherung vom $datum.txt" -ItemType File -Force).FullName Add-Content $Logfile ("Diese Sicherung ist vom $(Get-Date -Format 'dddd, dd. MMMM yyyy, HH:mm:ss') Uhr`n") Add-Content $Logfile ("Die gesicherte Firefox-Version ist: $FF_Version") Add-Content $Logfile "`n`n" } # Nachricht anzeigen Add-Type -AssemblyName System.Windows.Forms #region Grundeinstellungen $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif", 12) [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold) ) [Windows.Forms.Application]::EnableVisualStyles() #endregion #region Fensterelemente $Form = [Windows.Forms.Form]@{ Text = "Backup abgeschlossen" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,150" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{ Font = $Fonts[0] Margin = '10,10,10,10' AutoSize = $true Text = "Backup erfolgreich abgeschlossen." } $HS = @{ Run = [Windows.Forms.Button]@{ Size = "120,40" Text = "OK" Font = $Fonts[1] Margin = '10,10,10,10' Enabled = $true } } #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 1, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) #endregion #region Button-Click-Event $HS.Run.Add_Click({ $Form.Close() }) #endregion #region Ausführung [void]$Form.ShowDialog() #endregion }2. Skript, ganz ohne externen Packer!
Code
Alles anzeigenAdd-Type -A System.Windows.Forms #region Grundeinstellungen $Reg = "HKCU:\Software\FF_Backup" $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif", 12) [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold) ) [Windows.Forms.Application]::EnableVisualStyles() #endregion # Funktion zur Anzeige des Hinweisfensters function Show-FirefoxRunningDialog { $Form = [Windows.Forms.Form]@{ Text = "Hinweis" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,155" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{ Font = $Fonts[0] Margin = '10,10,10,10' AutoSize = $true Text = "Firefox wird noch ausgeführt. Soll Firefox beendet werden?" } $OKButton = [Windows.Forms.Button]@{ Size = "120,40" Text = "OK" Font = $Fonts[1] Margin = '10,10,10,10' } $OKButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::OK $Form.Close() }) $CancelButton = [Windows.Forms.Button]@{ Size = "120,40" Text = "Abbrechen" Font = $Fonts[1] Margin = '10,10,10,10' } $CancelButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::Cancel $Form.Close() }) $Flow.Controls.Add($OKButton) $Flow.Controls.Add($CancelButton) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 0, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) return $Form.ShowDialog() } # Überprüfen, ob Firefox noch läuft und entsprechend handeln if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $result = Show-FirefoxRunningDialog if ($result -eq [System.Windows.Forms.DialogResult]::OK) { Get-Process "Firefox" | Stop-Process } else { exit } } #region Fensterelemente $Form = [Windows.Forms.Form]@{ Text = "Firefox4backup" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,240" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Open = [Windows.Forms.Button]@{ Size = "100,40" Text = "Speicherort" Font = $Fonts[0] Anchor = 'Left' } $Textbox = @( [Windows.Forms.TextBox]@{ Font = $Fonts[0] Margin = '10,10,0,10' Size = "80,50" Dock = 'Fill' }, [Windows.Forms.TextBox]@{ Font = $Fonts[1] Margin = '10,10,10,10' Dock = 'Fill' Text = " \BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')" Enabled = $false } ) $Checkbox = @( [Windows.Forms.Checkbox]@{ Text = "Programmverzeichnis sichern" AutoSize = $true Font = $Fonts[0] Margin = '10,10,0,10' }, [Windows.Forms.Checkbox]@{ Text = "vorhandenen Ordner überschreiben" AutoSize = $true Font = $Fonts[0] Margin = '10,0,10,10' Visible = $false } ) $HS = @{ Run = [Windows.Forms.Button]@{ Size = "120,40" Text = "Ausführen" Font = $Fonts[1] Margin = '10,10,10,10' Enabled = $false } SavePath = $false overwrite = $true } #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 240)) $Table.Controls.Add($Open, 0, 0) $Table.Controls.Add($Textbox[0], 1, 0) $Table.Controls.Add($Textbox[1], 2, 0) $Table.Controls.Add($Checkbox[0], 0, 3) $Table.Controls.Add($Checkbox[1], 0, 4) $Table.Controls.Add($Flow, 0, 5) $Table.SetColumnSpan($Checkbox[0], 3) $Table.SetColumnSpan($Checkbox[1], 3) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) $Form.Size = "565,250" # Hier die Größe des Formulars setzen #endregion #region Runspace # Firefox-Status überwachen $RS = [powershell]::Create().AddScript({ while ($true) { if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $HS.FirefoxRunning = $true } else { $HS.FirefoxRunning = $false $HS.Run.Enabled = $HS.SavePath -and $HS.overwrite } } }) $RS.Runspace.SessionStateProxy.SetVariable('HS', $HS) #endregion #region Events $Form.Add_Load({ $HS.handle = $RS.BeginInvoke() if (Test-Path $Reg) { $Textbox[0].Text = Get-ItemPropertyValue $Reg "(default)" -ErrorAction SilentlyContinue } [void]$this.ActivateControl($Checkbox[0]) }) $Form.Add_Closed({ [void]$RS.Stop() }) $Form.Add_KeyDown({ switch ($_.KeyCode) { 'Return' {$HS.Run.PerformClick()} 'Escape' {$this.Hide()} } }) $HS.Run.Add_Click({ $this.TopLevelControl.Hide() $HS.Action = $true $HS.BackupCompleted = $true Set-ItemProperty -Path $Reg -Name "(default)" -Value $Textbox[0].Text.Replace('"', '') -Force }) $Textbox.Add_TextChanged({ if ($this.Text -and (Test-Path $this.Text.Replace('"', ''))) { $HS.SavePath = $true if (Test-Path (Join-Path $this.Text.Replace('"', '') "BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')")) { $Checkbox[1].Visible = $true $HS.overwrite = $false } else { $Checkbox[1].Visible = $false $HS.overwrite = $true } } else { $HS.SavePath = $false } }) $Open.Add_Click({ $Browse = [Windows.Forms.FolderBrowserDialog]@{ RootFolder = "MyComputer" SelectedPath = if ($HS.SavePath) {$Textbox.Text.Replace('"', '')} } if ($Browse.ShowDialog() -eq 'ok') {$Textbox[0].Text = $Browse.SelectedPath} }) $Checkbox[1].Add_CheckStateChanged({ $HS.overwrite = $this.Checked }) #endregion #region Ausführung [void]$Form.ShowDialog() $RS.Dispose() #endregion if ($HS.Action) { # Entferne führende und nachfolgende Leerzeichen und den führenden Backslash $basePath = $Textbox[0].Text.Trim().Replace('"', '') $subPath = $Textbox[1].Text.Trim().TrimStart('\') $LogPfad = Join-Path -Path $basePath -ChildPath $subPath # Sicherstellen, dass das Zielverzeichnis existiert if (!(Test-Path -Path $LogPfad)) { New-Item -ItemType Directory -Path $LogPfad -Force | Out-Null } $profileZip = Join-Path -Path $LogPfad -ChildPath "profile.zip" Compress-Archive -Path "$env:appdata\Mozilla\Firefox\Profiles" -DestinationPath $profileZip -CompressionLevel NoCompression if ($Checkbox[0].Checked) { $programZip = Join-Path -Path $LogPfad -ChildPath "program.zip" if (Test-Path $programZip) { Remove-Item -Force $programZip } Compress-Archive -Path "$env:ProgramFiles\Mozilla Firefox" -DestinationPath $programZip -CompressionLevel NoCompression } $date = Get-Date -Format "yyyy.MM.dd - HH.mm.ss" $datum = Get-Date -Format "dd.MM.yyyy" if (!(Test-Path ("$LogPfad\Sicherung am $date.txt"))) { $FF_Version = Get-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where-Object { $_.DisplayName -like "*firefox*" } | Select-Object -ExpandProperty DisplayVersion $Logfile = (New-Item -Path "$LogPfad\Sicherung vom $datum.txt" -ItemType File -Force).FullName Add-Content $Logfile ("Diese Sicherung ist vom $(Get-Date -Format 'dddd, dd. MMMM yyyy, HH:mm:ss') Uhr`n") Add-Content $Logfile ("Die gesicherte Firefox-Version ist: $FF_Version") Add-Content $Logfile "`n`n" } # Nachricht anzeigen Add-Type -AssemblyName System.Windows.Forms #region Grundeinstellungen $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif", 12) [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold) ) [Windows.Forms.Application]::EnableVisualStyles() #endregion #region Fensterelemente $Form = [Windows.Forms.Form]@{ Text = "Backup abgeschlossen" AutoSize = $false StartPosition = 'CenterScreen' Size = "565,150" Padding = '10,10,10,10' KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{ Dock = 'Fill' AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{ Anchor = 'Top' AutoSize = $true AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{ Font = $Fonts[0] Margin = '10,10,10,10' AutoSize = $true Text = "Backup erfolgreich abgeschlossen." } $HS = @{ Run = [Windows.Forms.Button]@{ Size = "120,40" Text = "OK" Font = $Fonts[1] Margin = '10,10,10,10' Enabled = $true } } #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 1, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) #endregion #region Button-Click-Event $HS.Run.Add_Click({ $Form.Close() }) #endregion #region Ausführung [void]$Form.ShowDialog() #endregion }Wenn beide Skripte soweit gut "laufen", werde ich versuchen mich des "großen Problems" anzunehmen.
Mich stört es, dass weder der Pfad zur Installation noch zu dem Profilordner von alleine gefunden wird.Ach, und mir geistert da noch eine andere Sache durch den Kopf.
Bisher ist es ja so, dass der Firefox beendet sein muss, damit das BackUp auch fehlerfrei funktioniert.
Hier on Board gibt es ja ein JavaScript, dass dafür sorgt, dass man vom Profilordner eine Sicherung anlegen kann.
Darin ist ein Ausschluss von bestimmten Dateien und Ordner enthalten.
Wenn ich dies in ähnlicher Weise "übernehmen" könnte, könnte die Abfrage, ob der Browser beendet werden soll, entfallen.
Denn die Funktion killt den Firefox recht radikal! Ist nicht wirklich so schön. -
Andauernd werde ich hier kritisiert und angegangen, das Skript wird als Unfug abgestempelt
und ich soll dann ruhig und besonnen bleiben.
Toll.
Ab dem dritten Beitrag ging es schon los.
Es tut mir wirklich leid, wenn dann doch das eine oder andere untergegangen ist.Sören Hentzschel Diesen Vergleich, den Du gerne hättest, kann ich Dir nicht liefern.
Drachen Du hast recht viel geschrieben und doch nur in den letzten beiden Sätzen mir eine Frage gestellt.
Ja sorry, hatte ich vorher irgendwie nicht mitgeschnitten, aber Du könntest die Antwort wissen, hättest Du es ausprobiert.
Ich muss zugeben, ich bin etwas leichtsinnig und habe das alles nur unter Adminrechten ausprobiert.
Ich kann Dir also gar nicht sagen, ob das Skript auch mit eingeschränkten Rechten funktioniert.
Aber da das Skript ja sowieso obsolet ist, ist es ja auch völlig egal, oder?Ich bin es leid, ständig eine eingeschenkt zu bekommen, wenn ich dies anspreche, bekomme ich erst recht noch eins drauf.
Das Skript wird schlecht gemacht, als völlig überflüssig hingestellt.Das die Vorstellung des Skriptes nicht gut gelaufen ist, habe ich zugegeben und dennoch hat sich so gut wie niemand die Mühe gemacht sich den Code mal genauer anzuschauen und mir eventuell .... ach lassen wir das.
Hallo

das ist auch nicht nötig, denn es ist obsolet. Schon deshalb habe ich es übrigens auch nicht getestet.
Gruß Ingo
Für Dich, das ist OK. Du nutzt ja auch zum Briefeschreiben noch Stift und ein Blatt Papier.
Denn so'n Office ist ja obsolet.Genau solche Kritik haben mich schwer enttäuscht.
Und die ganzen Anpassungen, die hier für den Firefox angeboten und entwickelt werden,
auch Schwachsinn? Sorry, obsolet! -
Drachen Phü, ....
Überheblich. Autsch.
Da bekommt man nur Schelte und wenn man schmollt, ist man überheblich. So so.Du hast das Skript scheinbar gar nicht getestet.
Zitat... variablen Zielordnern ....
Das geht! Dafür ist der Button "Speicherort".
Zitat... mit dem aktuellen Datum im Pfadnamen ....
Es wird ein Ordner namens BackupFirefox und in diesem werden die Backups in Ordner abgelegt die dem aktuellem Datum entsprechen. In diesen Ordner befindet sich außerdem noch eine Textdatei, auch mit Datum und sogar mit Uhrzeit und welche Firefoxversion da gesichert wurde.
ZitatDas kann man dann aufhübschen und verfeinern ....
Bin ich gerade noch dran, habe aber noch Probleme mit dem "aufhübschen".
Entweder habe ich eine "schöne" GUI und die Funktion des Skripts wird zerschossen,
oder es sieht nicht so "hübsch" aus, aber dafür funktioniert es.Also, mit dem Verurteilen und Austeilen bist Du schnell.
Hättest Du das Skript nur einmal getestet. -
OK, Vorschläge und Verbesserungen kamen keine.
Hilfe wurde auch nicht angeboten, ich selber habe versucht noch etwas an der GUI zu ändern, komme aber nicht weiter.
Egal, das Skript, bzw. Prögrämmschen erfüllt bei mir seinen Zweck,
und somit mache ich an dieser Stelle hier im Forum Schluss,
es sei denn, es passiert hier noch was.Ich bedanke mich für die konstruktive Kritik und wünsche allen, dies nutzen möchten und wollen, viel Spaß damit.
-
StandingBill Oh Weh, bis dahin ist es aber noch ein langer Weg.
Es gibt da noch so viel Potenzial der Verbesserungen.
z.B. könnte das Skript den Installations- aber auch den Profilordner von alleine finden!Nicht ein jeder installiert den Firefox so wie vorgesehen.

Und es gibt da bestimmt auch noch ein, zwei weitere Sachen, die verbessert werden könnten.
-
StandingBill Nun sollte es funktionieren.
Code
Alles anzeigenAdd-Type -A System.Windows.Forms #region Grundeinstellungen $Reg = "HKCU:\Software\FF_Backup" $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif",12) [Drawing.Font]::New("Microsoft Sans Serif",12,[Drawing.FontStyle]"Bold") ) [Windows.Forms.Application]::EnableVisualStyles() #endregion # Funktion zur Anzeige des Hinweisfensters function Show-FirefoxRunningDialog { $Form = [Windows.Forms.Form]@{Text = "Hinweis"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "50,50"; Padding = '10,10,10,10'; KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Firefox wird noch ausgeführt. Soll Firefox beendet werden?" } $OKButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10' } $OKButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::OK $Form.Close() }) $CancelButton = [Windows.Forms.Button]@{Size = "120,40"; Text = "Abbrechen"; Font = $Fonts[1]; Margin = '10,10,10,10' } $CancelButton.Add_Click({ $Form.DialogResult = [System.Windows.Forms.DialogResult]::Cancel $Form.Close() }) $Flow.Controls.Add($OKButton) $Flow.Controls.Add($CancelButton) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 0, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) return $Form.ShowDialog() } # Überprüfen, ob Firefox noch läuft und entsprechend handeln if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $result = Show-FirefoxRunningDialog if ($result -eq [System.Windows.Forms.DialogResult]::OK) { Get-Process "Firefox" | Stop-Process } else { exit } } #region Fensterelemente $Form = [Windows.Forms.Form]@{Text = "Firefox4backup"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "50,50"; Padding = '10,10,10,10'; KeyPreview = $true} $Table = [Windows.Forms.TableLayoutPanel]@{Dock='Fill'; AutoSize=$true} $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor='Top'; AutoSize=$true; AutoSizeMode='GrowAndShrink'} $Open = [Windows.Forms.Button]@{Size="100,40"; Text="Speicherort"; Font=$Fonts[0]; Anchor='Left'} $Textbox = @( [Windows.Forms.TextBox]@{Font=$Fonts[0]; Margin='10,10,0,10'; Size="150,30"; Dock='Fill'} [Windows.Forms.TextBox]@{Font=$Fonts[1]; Margin='0,10,10,10'; Dock='Fill'; Text=" \BackupFirefox\$(Get-Date -Format 'yyyy.MM.dd')"; Enabled=$false} ) $Checkbox = @( [Windows.Forms.Checkbox]@{Text="Programmverzeichnis sichern"; AutoSize=$true; Font=$Fonts[0];Margin='10,10,0,10'} [Windows.Forms.Checkbox]@{Text="vorhandenen Ordner überschreiben"; AutoSize=$true; Font=$Fonts[0];Margin='10,0,10,10'; Visible=$false} ) $HS = [Hashtable]::Synchronized(@{ Run = [Windows.Forms.Button]@{Size="120,40"; Text="Ausführen"; Font=$Fonts[1]; Margin='10,10,10,10'; Enabled=$false} SavePath = $false overwrite = $true }) #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Open, 0, 0) $Table.Controls.Add($Textbox[0], 1, 0) $Table.Controls.Add($Textbox[1], 2, 0) $Table.Controls.Add($Checkbox[0], 0, 3) $Table.Controls.Add($Checkbox[1], 0, 4) $Table.Controls.Add($Flow, 0, 5) $Table.SetColumnSpan($Checkbox[0], 3) $Table.SetColumnSpan($Checkbox[1], 3) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) #endregion #region Runspace # Firefox-Status überwachen $RS = [powershell]::Create().AddScript({ while ($true) { if (Get-Process "Firefox" -ErrorAction SilentlyContinue) { $HS.FirefoxRunning = $true } else { $HS.FirefoxRunning = $false $HS.Run.Enabled = $HS.SavePath -and $HS.overwrite } } }) $RS.Runspace.SessionStateProxy.SetVariable('HS', $HS) #endregion #region Events $Form.Add_Load({ $HS.handle = $RS.BeginInvoke() if (Test-Path $Reg) { $Textbox[0].Text = Get-ItemPropertyValue $Reg "(default)" -ErrorAction SilentlyContinue } [void]$this.ActivateControl($Checkbox[0]) }) $Form.Add_Closed({[void]$RS.Stop()}) $Form.Add_KeyDown({ switch ($_.KeyCode) { 'Return' {$HS.Run.PerformClick()} 'Escape' {$this.Hide()} } }) $HS.Run.Add_Click({ $this.TopLevelControl.Hide() $HS.Action = $true $HS.BackupCompleted = $true # Setze den Status auf true, wenn das Backup beginnt Set-ItemProperty -Path $Reg -Name "(default)" -Value $Textbox[0].Text.Replace('"', '') -Force }) $Textbox.Add_TextChanged({ if ($this.Text -and (Test-Path $this.Text.Replace('"',''))) { $HS.SavePath = $true if (Test-Path (Join-Path $this.Text.Replace('"','') "BackupFirefox\$(get-date -Format "yyyy.MM.dd")")) { $Checkbox[1].Visible = $true $HS.overwrite = $false } else { $Checkbox[1].Visible = $false $HS.overwrite = $true $this.TopLevelControl.Size="100,100" } } else {$HS.SavePath = $false} }) $Open.Add_Click({ $Browse = [Windows.Forms.FolderBrowserDialog]@{ RootFolder = "MyComputer" SelectedPath = if ($HS.SavePath) {$Textbox.Text.Replace('"','')} } if ($Browse.ShowDialog() -eq 'ok') {$Textbox[0].Text = $Browse.SelectedPath} }) $Checkbox[1].Add_CheckStateChanged({$HS.overwrite = $this.Checked}) #endregion #region Ausführung [void]$Form.ShowDialog() $RS.Dispose() #endregion if ($HS.Action) { # Sicherungsordner erstellen, falls dieser nicht existiert $BackupPath = $Textbox[0].Text.Replace('"','') $LogPfad = Join-Path $BackupPath $Textbox[1].Text.SubString(1) if (-not (Test-Path -Path $LogPfad)) { New-Item -ItemType Directory -Path $LogPfad -Force } if (Test-Path "$LogPfad\Profilverzeichnis.zip") { Remove-Item -Force "$LogPfad\Profilverzeichnis.zip" } Compress-Archive -Path "$env:appdata\Mozilla\Firefox\Profiles" -DestinationPath "$LogPfad\Profilverzeichnis.zip" -CompressionLevel NoCompression Write-Progress -Activity "Profilverzeichnis wird archiviert... " -PercentComplete 100 -Status "Abgeschlossen" if ($Checkbox[0].Checked) { if (Test-Path "$LogPfad\Programmverzeichnis.zip") { Remove-Item -Force "$LogPfad\Programmverzeichnis.zip" } Compress-Archive -Path "$env:ProgramFiles\Mozilla Firefox" -DestinationPath "$LogPfad\Programmverzeichnis.zip" -CompressionLevel NoCompression Write-Progress -Activity "Programmverzeichnis wird archiviert... " -PercentComplete 100 -Status "Abgeschlossen" } $date = Get-Date -Format "yyyy.MM.dd - HH.mm.ss" $datum = Get-Date -Format "dd.MM.yyyy" if (!(Test-Path ("$LogPfad\Sicherung am $date.txt"))) { $FF_Version = gp 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'| ? DisplayName -like "*firefox*"|select -Expand DisplayVersion $Logfile = (New-Item -Path "$LogPfad\Sicherung vom $datum.txt" -ItemType File -Force).FullName Add-Content $Logfile ("Diese Sicherung ist vom $(get-date -Format "dddd, dd. MMMM yyyy, HH:mm:ss") Uhr`n") Add-Content $Logfile ("Die gesicherte Firefox-Version ist: $FF_Version") Add-Content $Logfile "`n`n" } # Nachricht anzeigen Add-Type -AssemblyName System.Windows.Forms #region Grundeinstellungen $Fonts = @( [Drawing.Font]::New("Microsoft Sans Serif", 12) [Drawing.Font]::New("Microsoft Sans Serif", 12, [Drawing.FontStyle]::Bold) ) [Windows.Forms.Application]::EnableVisualStyles() #endregion #region Fensterelemente $Form = [Windows.Forms.Form]@{Text = "Backup abgeschlossen"; AutoSize = $true; StartPosition = 'CenterScreen'; Size = "50,50"; Padding = '10,10,10,10'; KeyPreview = $true } $Table = [Windows.Forms.TableLayoutPanel]@{Dock = 'Fill'; AutoSize = $true } $Flow = [Windows.Forms.FlowLayoutPanel]@{Anchor = 'Top'; AutoSize = $true; AutoSizeMode = 'GrowAndShrink' } $Label = [Windows.Forms.Label]@{Font = $Fonts[0]; Margin = '10,10,10,10'; AutoSize = $true; Text = "Backup erfolgreich abgeschlossen." } $HS = @{Run = [Windows.Forms.Button]@{Size = "120,40"; Text = "OK"; Font = $Fonts[1]; Margin = '10,10,10,10'; Enabled = $true }} #endregion #region Fensteranordnung $Flow.Controls.Add($HS.Run) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('AutoSize')) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Percent', 10)) [void]$Table.ColumnStyles.Add([Windows.Forms.ColumnStyle]::New('Absolute', 190)) $Table.Controls.Add($Label, 1, 0) $Table.Controls.Add($Flow, 0, 1) $Table.SetColumnSpan($Flow, 3) $Form.Controls.Add($Table) #endregion #region Button-Click-Event $HS.Run.Add_Click({ $Form.Close() }) #endregion #region Ausführung [void]$Form.ShowDialog() #endregion } -
StandingBill Dieses Fehlverhalten habe ich auch schon festgestellt.
Bin mir noch nicht im Klaren, warum der Ordner nicht angelegt wird.Bei einem zweiten Aufruf und dem abnicken, ob der Ordner überschrieben werden soll,
klappt es ja dann.
Da muss ich noch mal ran.Sören Hentzschel Zu Deiner Frage!
Das hat mich dann auch interessiert und ich wollte es etwas genauer wissen.Also das Skript mit dem Aufruf der 7zg.exe braucht mit dem Parameter mx5 so in etwa 18s.
Das Skript ohne dem Aufruf der 7zg.exe braucht mit dem Parameter Optimal schon etwas länger, ca. 1min.
Mit dem Parameter Fastest ca.45s.Was die Dateigrößen angeht, so sind sie bei diesen Einstellungen in etwas alle gleich.
Die Unterschiede sind wirklich zu vernachlässigen!Natürlich habe ich auch den Parameter NoCompression ausprobiert, da war der Vorgang dann mit ca. 19s beendet,
aber die Datei "Profilverzeichnis.zip" war dann doch ein wenig größer!
ca. 2.200.000 KB wohingegen die komprimierten ca. 1.400.000KB groß sind.