Backupscript soll automatisch die nächsten Unterordner finden und als Variable übergeben

Mitglied: Zunaras

Zunaras (Level 1) - Jetzt verbinden

25.12.2016 um 21:06 Uhr, 1455 Aufrufe, 7 Kommentare, 1 Danke

Schönen guten Tag und frohe Weihnachten!

Ich habe einen Foto-Ordner mit Unterordner in Jahren unterteilt.
D:\Eigene Dateien\Bilder\2016
D:\Eigene Dateien\Bilder\2015
D:\Eigene Dateien\Bilder\2014
usw.

Eine Batch übernimmt die Sicherung der einzelnen Ordner. So dass ich pro Ordner-Jahr eine *.7z habe. Also - ich habe pro Jahr eine Batch, die ich manuell einzeln hintereinander ausführe.
Mir kam nun die Idee, ob es nicht ginge, nur den Ordner D:\Eigene Dateien\Bilder anzugeben, um damit automatisiert den Gesamten Pfad, wie oben beschrieben, meiner Batch als Variable zu übergeben. Also eine Schleife bis alle Unterordner abgearbeitet wurden.
Ist das möglich?

Hier mal der Anfang meiner Batch:
In Zeile 5 soll der gefundene Pfad aus der Schleife als Variable eingetragen werden:
set SF=%PfadausSchleife% (z.B: D:\Eigene Dateien\Bilder\2016)

Viele Grüße
Mitglied: clragon
25.12.2016, aktualisiert um 22:21 Uhr
Klar geht das. Hiermit:

Der Schnipsel verarbeitet Jeden Ordner in "%DeinePfadVariable%"
Der Pfad des Ordners, also
D:\Eigene Dateien\Bilder\2016
D:\Eigene Dateien\Bilder\2015
D:\Eigene Dateien\Bilder\2014
ist dabei %%A.
Also musst du nur noch 7z a %%A --parameter --usw
eingeben.

Dir auch frohe Weihnachten

lg clragon
Bitte warten ..
Mitglied: 77559
77559 (Level 2)
25.12.2016, aktualisiert um 23:21 Uhr
Die einfachste Version ist dies :
Dabei ist zu beachten das hierbei keien Sortierung der Ordner erfolgt
(abgesehen von der auf ntfs-Laufwerken immanenten).

Eine genauere Selektion auf max vierstellige numerische Ordner mit 20 am Anfang:
Bitte warten ..
Mitglied: Zunaras
26.12.2016, aktualisiert 07.01.2017
Hallo und vielen Dank!
eure Beispiele kann ich leider so nicht umsetzen. Ich gebe euch hier mal den gesamten Code, damit ihr einen besseren Überblick habt. Ich habe mir das alles mehr nach Try and Error zusammengebastelt als mit wirklichem Können.
Hier laufen einige Prüfungen durch und 7zip arbeitet mit Diff-Backups. Wenn das letzte Diff-Backup größer als 10% vom Voll-Backup ist, wird ein neues Voll-Backup erstellt.

Wenn möglich, müsste sich der Pfad in Zeile 5 nach jedem Durchlauf verändern, bis alle direkten Unterordner abgearbeitet wurden.

Viele Grüße

Bitte warten ..
Mitglied: Zunaras
08.01.2017 um 14:34 Uhr
Moin!
ich habe noch mal probiert:

In c:\pflege befinden sich die Ordner Test1 und Test2

in Start.bat
Dann wird die gewünschte bat gestartet mit geändertem Anfang.

Die Batch läuft auch zwei mal durch. Aber es wird immer nur Test2 übergeben.

Bitte warten ..
Mitglied: 131381
131381 (Level 2)
08.01.2017, aktualisiert um 14:58 Uhr
Die Batch läuft auch zwei mal durch. Aber es wird immer nur Test2 übergeben.

Das ist klar weil wenn du mit SET innerhalb einer FOR-Schleife eine Variable definierst diese entweder nur mit call set oder delayedexpansion und Ausrufezeichen beim Abrufen der Variablen zur Laufzeit aufgelöst werden!
Lese dazu bitte dieses Tutorial
https://www.administrator.de/wissen/tutorial-for-schleife-155681.html

Dann verstehst du den Unterschied zwischen dem Auflösen der Variablen zur Laufzeit und vor dem Ausführen.
Bitte warten ..
Mitglied: Zunaras
09.01.2017 um 11:49 Uhr
Hallo und vielen Dank!

Das Tutorial habe ich bereits viele Tage nebenher geöffnet und versuch es zu verstehen....

Ein Problem habe ich jetzt mit dem Update-Switch-Command von 7z. Durch das "!" in -up0q3r2x2y2z0w2! wird ein Pfad angefügt.
Bitte warten ..
Mitglied: 131381
131381 (Level 2)
LÖSUNG 09.01.2017 um 11:51 Uhr
Dazu schalte DelayedExpansion vor dieser Zeile ab
setlocal disabledelayedexpansion
Bitte warten ..
Heiß diskutierte Inhalte
Router & Routing
Erklärung zu diesen Geräten
RoadmaxVor 1 TagFrageRouter & Routing7 Kommentare

Hallo Zusammen, bei uns war heute spontan das Internet weg und wir mussten die Carrier Geräte neu starten. Mir stellt sich die Frage, welches ...

Viren und Trojaner
Emotet angeblich unschädlich gemacht
DoskiasVor 13 StundenInformationViren und Trojaner14 Kommentare

Hallo zusammen, kam grade rein. Wir werden sehen ob es stimmt: Eilmeldung Bundeskriminalamt: Weltweit gefährlichste Schadsoftware unschädlich gemacht Stand: 27.01.2021 13:18 Uhr Deutsche Ermittler ...

Erkennung und -Abwehr
GDATA oder Defender in MS W10-Umgebung?
winackerVor 1 TagFrageErkennung und -Abwehr7 Kommentare

Hallo, seit Jahren habe ich eine Firmenlizenz des GDATA-AV. Die ist nun wieder zur Verlängerung fällig und ich frage mich ob das noch Sinn ...

Firewall
PfSense als Exposed Host hinter FritzBox 6591 Cable
SMT000Vor 1 TagFrageFirewall6 Kommentare

Hallo zusammen, ich kenne mich mit dem Thema leider nicht gut aus und habe deshalb einige Verständnisfragen. Vorab, ich hab hier eine FritzBox 6591 ...

Windows Update
Clients melden sich nicht selbständig am WSUS Server
BPeterVor 1 TagFrageWindows Update11 Kommentare

Hallo, ich habe einen Windows Server 2019 WSUS in unserem AD eingerichtet. Die Clientkonfig übertrage ich per Group Policy. Sie wird auch vom Client ...

Windows Server
Server "Soft-RAID"
EckiD1Vor 1 TagFrageWindows Server7 Kommentare

Hi, ich habe an einem Hyper-V Host (WS 2019 Standard) mehrer NVMe am HBA die ich zu einem RAID verbinden möchte. Nur für das ...

Exchange Server
5.4.1 Recipient address rejected: Access denied. AS(201806281)
gelöst DeclarationVor 1 TagFrageExchange Server5 Kommentare

Hallo im Unternehmen ist Microsoft 365 business installiert inclusice AD Syncronisierung bei 10 MA . Bis Samstag lief der Exchange perfekt. Seitdem bekommt ein ...

Windows Server
Benutzer und Postfach über AD erstellen
Igdirli76Vor 1 TagFrageWindows Server10 Kommentare

Hallo Leute, bitte erschießt mich nicht gleich wegen meiner frage. Ich habe einen Windows Server 2019 Datacenter installiert und wollte beim User erstellen, dass ...