Per Batch Ordnername auslesen und an richtigen Ort verschieben
Hallo Leute
Ich bin neu hier und bräuchte mal eure Hilfe.
Es geht um eine automatisierte Datensicherung von USB Sticks auf ein Server Laufwerk.
Nun sortiere ich bereits mit einem anderen Tool (Order in my Folder) meine Logfiles in Ordner, welche nach Jahr/Monat sortiert sind. Nun möchte ich ein automatisches verschieben auf den Server realisieren, welcher dann die Ordner an den richtigen Ort verschiebt. Die Daten in den Ordner sind vom Namen her einmalig.
Ordnerstruktur USB (nach Sortierung von OimF):
F:\Daten\2014-1
F:\Daten\2014-2
F:\Daten\2014-3
usw. bis 12
Es sind aber nur die Order vorhanden, wo auch von dem jeweiligen Jahr/Monat Daten vorhanden sind.
Je nach Die Jahreszahl wird sich natürlich jedes Jahr erhöhen.
Ordnerstruktur auf Server:
K:\Daten\2014\2014-1
K:\Daten\2014\2014-2
K:\Daten\2014\2014-3
...
usw. bis 12
Es sind aber nur die Order vorhanden, wo auch von dem jeweiligen Jahr/Monat Daten vorhanden sind.
Ordner K:\Daten\201x\ müsste je nachdem erstellt werden falls nicht vorhanden.
Die Batch sollte im Grunde diese Aufgabe haben:
Jahreszahl von Ordername auf USB auslesen und nach Server ins richtige Jahresverzeichnis verschieben.
Sollte eine Datei bereits vorhanden sein, Überschreiben ohne nachfrage.
Sollte ein Ordner nicht vorhanden sein, erstellen.
Das ganze läuft auf Windows 7.
Falls andere Ordner mit anderem Namen in F.\Daten\ sind, sollten diese ignoriert werden.
Ich hoffe ihr könnt mir bei meinem kleinen Problem weiterhelfen
Gruss
Ohop3n
Ich bin neu hier und bräuchte mal eure Hilfe.
Es geht um eine automatisierte Datensicherung von USB Sticks auf ein Server Laufwerk.
Nun sortiere ich bereits mit einem anderen Tool (Order in my Folder) meine Logfiles in Ordner, welche nach Jahr/Monat sortiert sind. Nun möchte ich ein automatisches verschieben auf den Server realisieren, welcher dann die Ordner an den richtigen Ort verschiebt. Die Daten in den Ordner sind vom Namen her einmalig.
Ordnerstruktur USB (nach Sortierung von OimF):
F:\Daten\2014-1
F:\Daten\2014-2
F:\Daten\2014-3
usw. bis 12
Es sind aber nur die Order vorhanden, wo auch von dem jeweiligen Jahr/Monat Daten vorhanden sind.
Je nach Die Jahreszahl wird sich natürlich jedes Jahr erhöhen.
Ordnerstruktur auf Server:
K:\Daten\2014\2014-1
K:\Daten\2014\2014-2
K:\Daten\2014\2014-3
...
usw. bis 12
Es sind aber nur die Order vorhanden, wo auch von dem jeweiligen Jahr/Monat Daten vorhanden sind.
Ordner K:\Daten\201x\ müsste je nachdem erstellt werden falls nicht vorhanden.
Die Batch sollte im Grunde diese Aufgabe haben:
Jahreszahl von Ordername auf USB auslesen und nach Server ins richtige Jahresverzeichnis verschieben.
Sollte eine Datei bereits vorhanden sein, Überschreiben ohne nachfrage.
Sollte ein Ordner nicht vorhanden sein, erstellen.
Das ganze läuft auf Windows 7.
Falls andere Ordner mit anderem Namen in F.\Daten\ sind, sollten diese ignoriert werden.
Ich hoffe ihr könnt mir bei meinem kleinen Problem weiterhelfen
Gruss
Ohop3n
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252255
Url: https://administrator.de/contentid/252255
Ausgedruckt am: 25.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Ohop3n,
sorry für den kleinen Schnitzer, das hatte ich auf die Schnelle übersehen, habe es oben entsprechend korrigiert, du musst nichts mehr anpassen (auch nicht die Fragezeichen), wenn die Pfadangaben die du hier verwendet hast stimmen. Das kopieren hatte ich nur zur Sicherheit für deine Tests erst mal eingebaut ...jetzt verschiebt es die Dateien.
Grüße Uwe
p.s. wenn du es auch mal mit Powershell versuchen willst, dies hier macht das selbe
sorry für den kleinen Schnitzer, das hatte ich auf die Schnelle übersehen, habe es oben entsprechend korrigiert, du musst nichts mehr anpassen (auch nicht die Fragezeichen), wenn die Pfadangaben die du hier verwendet hast stimmen. Das kopieren hatte ich nur zur Sicherheit für deine Tests erst mal eingebaut ...jetzt verschiebt es die Dateien.
Grüße Uwe
p.s. wenn du es auch mal mit Powershell versuchen willst, dies hier macht das selbe
$quelle = F:\Daten'
$ziel = 'K:\Daten'
dir $quelle | ?{$_.PSIsContainer -and $_.Name -match '^(\d{4})-\d{1,2}$'} | %{copy-item -Path $_.FullName -Destination "$ziel\$($matches[1])\$($_.Name)" -Recurse -Force ; remove-item $_.FullName -Recurse -Force}