Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Robocopy soll bestimmte Ordner synchronisieren

Mitglied: Zunaras

Zunaras (Level 1) - Jetzt verbinden

13.09.2018 um 14:50 Uhr, 420 Aufrufe, 29 Kommentare

Hallo,

Robocopy soll bestimmte Ordner auf einer NAS, beginnend mit "Backup", mit dem Ziel synchronisieren.
Bisher habe ich das immer für jeden Ordner einzeln gelöst. Aber es kommen immer wieder Backup-Ordner hinzu oder werden entfernt, sodass man die BAT ständig editieren muss.
Lässt sich das vereinfachen?

Hier der bisherige Code
01.
robocopy.exe "\\nas\Backup1"   "D:\Kopie\Backup1"   /MIR  /TEE  /R:0 /W:0 /XD "@Recycle"  /ETA /NP /MT:1
Quelle
\\nas\Backup1
\\nas\backup2
usw

Ziel
d:\Kopie\Backup1
d:\Kopie\backup2
usw.

Mit diesem Code als Vorlage habe ich experimentiert
Hier kommt der Fehler "Der Netzwerkordner wurde nicht gefunden"
01.
for /f "tokens=*" %%a in ('dir \\nas\Backup*./ad /b') do robocopy %%a "D:\Kopie\%%a" /MIR  usw.....
oder
01.
for /f "tokens=*" %%a in ('dir \\nas\Backup*./ad /b') do robocopy \\nas\%%a "D:\Kopie\%%a" /MIR  usw.....
Viele Grüße
29 Antworten
Mitglied: 137084
13.09.2018, aktualisiert um 16:17 Uhr
01.
@echo off 
02.
for /d %%a in ("\\nas\Freigabe\Backup*") do robocopy "%%~a" "D:\Kopie\%%~nxa" /MIR /R:0 /W:0 /XD "@Recycle" /ETA /NP /MT:1
Bitte warten ..
Mitglied: Zunaras
13.09.2018 um 15:52 Uhr
Hi!

wenn ich das ausführe, passiert gar nichts. Nicht mal ein Hinweis.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:04 Uhr
Geht hier einwandfrei! Der Code gehört in eine Batch, zum ausprobieren auf der Konsole musst du die doppelten Prozentzeichen durch einzelne ersetzen!

Hier lesen
https://www.administrator.de/wissen/tutorial-for-schleife-155681.html
Bitte warten ..
Mitglied: Zunaras
13.09.2018 um 16:06 Uhr
Hab ich so gemacht.
Wenn ich den Code als Batch ausführe, fällt auf, das am Anfang
for / %a in ("\\nas\Backup*") ........
steht

Sollte da nicht
for /d %a in ("\\nas\Backup*") ........
stehen?
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:10 Uhr
Zitat von Zunaras:

Hab ich so gemacht.
Wenn ich den Code als Batch ausführe, fällt auf, das am Anfang
for / %a in ("\\nas\Backup*") ........
steht

Sollte da nicht
for /d %a in ("\\nas\Backup*") ........
stehen?
Du hast das Encoding deiner Batch versaut, außerdem fehlen dir die doppelten Prozentzeichen wenn es in einer Batch steht, habe ich doch oben geschrieben, nur wenn es direkt in eine Konsole reingetippelt wird sind es einfache Prozentzeichen!
Wie gesagt Code funktioniert einwandfrei, es liegt auf deiner Seite sorry.
Bitte warten ..
Mitglied: emeriks
13.09.2018, aktualisiert um 16:16 Uhr
Hi,
das funktioniert bei mir auch nicht. Und es wäre mir auch neu, dass man Wildcards beim Benennen von Freigaben verwenden könnte.
Beachte:
\\nas\BackupX
ist eine Freigabe, kein Verzeichnis.

E.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:18 Uhr
Naja das er das durch seine Freigabe und anschließenden Pfad ersetzt setze ich mal voraus, das waren ja nur Platzhalter.

Damit 's nicht confused habe ich das ganze mal durch
"\\nas\Freigabe\Backup*"
ersetzt.
Bitte warten ..
Mitglied: emeriks
13.09.2018 um 16:18 Uhr
Naja das er das durch seine Freigabe und anschließenden Pfad ersetzt setze ich mal voraus, das waren ja nur Platzhalter.
Du hast nicht verstanden.
Man kann - meines Wissens - bei Freigabenamen keine Wildcards benutzen.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:21 Uhr
Zitat von emeriks:

Naja das er das durch seine Freigabe und anschließenden Pfad ersetzt setze ich mal voraus, das waren ja nur Platzhalter.
Du hast nicht verstanden.
Man kann - meines Wissens - bei Freigabenamen keine Wildcards benutzen.
Das ist klar, aber er sagt doch das das Unterordner sind und keine einzelnen Freigaben.

Er muss also die Freigabe nehmen in der alle seine Backupordner liegen
Bitte warten ..
Mitglied: Zunaras
13.09.2018, aktualisiert um 16:21 Uhr
Moment!
Bitte warten ..
Mitglied: emeriks
13.09.2018 um 16:19 Uhr
Wo sagt er das? Seine Aufgabenstellung ist
\\nas\Backup*
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:21 Uhr
Dann hat er sich eben nicht eindeutig ausgedrückt. Nach seiner Laute sind es Ordner keine Freigaben und dafür ist der Code auch gedacht.

Warten wir's ab was er sagt.
Bitte warten ..
Mitglied: emeriks
13.09.2018 um 16:21 Uhr
Zitat von 137084:
Das ist klar, aber er sagt doch das das Unterordner sind und keine einzelnen Freigaben.

Er muss also die Freigabe nehmen in der alle Backupordner liegen
Wenn Du Deine Kommentare nun schon komplett änderst, dann kennzeichne das bitte auch so. Sonst weiß später niemand mehr, wer warum worauf geantwortet hat.
Bitte warten ..
Mitglied: 137084
13.09.2018 um 16:22 Uhr
Wir waren nur zu schnell, das ist alles.
Bitte warten ..
Mitglied: emeriks
13.09.2018 um 16:23 Uhr
Zitat von 137084:
Wir waren nur zu schnell, das ist alles.
Wir?
Bitte warten ..
Mitglied: Zunaras
13.09.2018 um 16:24 Uhr
Darf ich wieder?

Ich hab mich bestimmt falsch ausgedrückt. Sorry!!!

Es ist ein auf der NAS eingerichteter Freigabeordner.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:26 Uhr
D.h. jeder Backupordner ist eine eigene Freigabe oder wie jetze??
Oder sind die Backupordner einzelne Ordner innerhalb einer Freigabe?
Bitte warten ..
Mitglied: emeriks
13.09.2018 um 16:26 Uhr
Zitat von 137084:

D.h. jeder Backupordner ist eine eigene Freigabe oder wie jetze??
Ja. Schreibt er doch schon im Eigangstext!
Bitte warten ..
Mitglied: emeriks
13.09.2018, aktualisiert um 16:29 Uhr
Wenn die Freigaben tatsächlich "Backup1", "Backup2", "Backup3" usw. lauten, dann könntest Du das ganz einfach hochzählen.

01.
for %n in (1 2 3 4 5 6 7 8 9) do robocopy.exe "\\nas\Backup%n" "D:\Kopie\Backup%n" /MIR /TEE /R:0 /W:0 /XD "@Recycle" /ETA /NP /MT:1
Bitte warten ..
Mitglied: Zunaras
13.09.2018 um 16:28 Uhr
Jeder dieser Ordner ist eine eigene Freigabe.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 16:44 Uhr
Zitat von Zunaras:

Jeder dieser Ordner ist eine eigene Freigabe.
OK in dem Fall kannst du folgendes machen
01.
for /f "tokens=1" %%a in ('net view \\NAS ^| findstr /i "^Backup.*"') do robocopy "\\NAS\%%a" "D:\Kopie\%%a" /MIR /TEE /R:0 /W:0 /XD "@Recycle" /ETA /NP /MT:1
Bitte warten ..
Mitglied: Zunaras
13.09.2018 um 17:54 Uhr
Vielen Dank euch beiden!

Die Lösung von ElMano gefällt mir ganz gut, da ich hier auch ohne die Zahlen arbeiten kann.

Ich hätte dafür auch schon ein weiteres Einsatzgebiet. Allerdings haben diese Ordner Leerzeichen im Namen. Der Pfad wird nach dem ersten Wort abgeschnitten.
Bitte warten ..
Mitglied: 137084
13.09.2018, aktualisiert um 18:14 Uhr
Zitat von Zunaras:
Ich hätte dafür auch schon ein weiteres Einsatzgebiet. Allerdings haben diese Ordner Leerzeichen im Namen. Der Pfad wird nach dem ersten Wort abgeschnitten.
Das wäre kein Hindernis, lässt sich auch an solche Bedürfnisse anpassen.
Bitte warten ..
Mitglied: Zunaras
14.09.2018 um 09:10 Uhr
Zitat von 137084:
Das wäre kein Hindernis, lässt sich auch an solche Bedürfnisse anpassen.

Ich experimentier ja gerne und suche selbst nach Lösungen aber nun zieh ich mir seit Stunden das "Tutorial zur FOR-Schleife" rein und hab nach Beispielen ähnlich meinem Fall gesucht. Stichwort: delims, findstr, tokens oder auch usebackq
Aber was ich auch mache, der Pfad mit Leerzeichen wird nicht übernommen. Wenn doch, dann steht da noch viel, viel mehr als Ergebnis und/oder es kommt ein Fehler.
Dürfte ich ich vielleicht noch mal um Deine Hilfe bitten?
Bitte warten ..
Mitglied: emeriks
14.09.2018 um 09:22 Uhr
Was hindert Dich daran, diese Ordner - extra für den Backup - mit einer zweiten Freigabe freizugeben, z.B. versteckte Freigaben mit "$" am Ende und "Backup" am Anfang und ohne Leerzeichen im Namen?
Bitte warten ..
Mitglied: 137084
14.09.2018, aktualisiert um 09:30 Uhr
01.
for /f "delims=" %%a in ('powershell -Executionpolicy ByPass -NoProfile -Command "net view \\NAS | ?{$_ -match '\b(Platte|Disk)\b'} | %%{($_ -split '\s{2,}')[0]}"') do echo Tu was mit der Freigabe: '%%a'
Bitte warten ..
Mitglied: Zunaras
14.09.2018 um 11:32 Uhr
Zitat von emeriks:

Was hindert Dich daran, diese Ordner - extra für den Backup - mit einer zweiten Freigabe freizugeben, z.B. versteckte Freigaben mit "$" am Ende und "Backup" am Anfang und ohne Leerzeichen im Namen?

Ein guter Tipp. Danke!



Zitat von 137084:

01.
> for /f "delims=" %%a in ('powershell -Executionpolicy ByPass -NoProfile -Command "net view \\NAS | ?{$_ -match '\b(Platte|Disk)\b'} | %%{($_ -split '\s{2,}')[0]}"') do echo Tu was mit der Freigabe: '%%a' 

Vielen Dank! Ich werde noch ein wenig tüfteln müssen, um bestimmte Ordner an Robocopy weiterzugeben.
Bitte warten ..
Mitglied: 137084
LÖSUNG 14.09.2018, aktualisiert um 11:47 Uhr
Zitat von Zunaras:
Vielen Dank! Ich werde noch ein wenig tüfteln müssen, um bestimmte Ordner an Robocopy weiterzugeben.
Einfach per Where-Object im Powershell-Abschnitt ausfiltern oder per nachgeschaltetem findstr
Per where-Object
01.
for /f "delims=" %%a in ('powershell -Executionpolicy ByPass -NoProfile -Command "net view \\NAS | ?{$_ -match '\b(Platte|Disk)\b'} | %%{($_ -split '\s{2,}')[0]} | ?{$_ -like '*Dich such ich*'}"') do echo Tu was mit der Freigabe: '%%a'
per Findstr
01.
for /f "delims=" %%a in ('powershell -Executionpolicy ByPass -NoProfile -Command "net view \\NAS | ?{$_ -match '\b(Platte|Disk)\b'} | %%{($_ -split '\s{2,}')[0]}" ^| findstr /ic:"Such ich"') do echo Tu was mit der Freigabe: '%%a'
Oder besser gleich komplett auf die Powershell umsteigen um diesen Mischmasch zu umgehen.

Wenns das dann war bitte noch den Haken dran.


-Achtung nachträgliche Fehlerkorrekturen-
Bitte warten ..
Mitglied: Zunaras
14.09.2018 um 12:02 Uhr
Zitat von 137084:
Wenns das dann war bitte noch den Haken dran.

Vielen lieben Dank !!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Robocopy Ordner Synchronisieren
Frage von blackhawk17Batch & Shell10 Kommentare

Guten Tag. ich möchte gerne die Inhalte zweiter Laufwerke zusammenführen. Laufwerk A \ Ordner A Laufwerk B \ Ordner ...

Windows Server
Robocopy Verzeichnis Synchronisieren
gelöst Frage von Fenris14Windows Server1 Kommentar

Guten Tag, ich bin gerade dabei eine Batch mit Robocopy zu schreiben. Soll dann später jeden Tag um 2Uhr ...

Windows Tools

Verzeichnisse synchronisieren unter bestimmten Umständen

Frage von jojo0411Windows Tools3 Kommentare

Hallo Leute, Ich habe eine Anforderung die man wahrscheinlich mit Robocopy lösen könnte wobei ich jedoch ein Programm (kann ...

Windows Server

Robocopy Ordner-Icons behalten

Frage von sebastian2608Windows Server5 Kommentare

Hallo Leute, heute habe ich mal eine etwas seltsame Frage Ich habe mir ein kleines Script geschrieben, welches mit ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 10 StundenE-Mail3 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 11 StundenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 14 StundenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 TagServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...