steve-austria-2014
Goto Top

Spezielle Dateien einem User zur Verfügung stellen (Kopieren von Ordnerstruktur und bei vorhandenen Ordner Daten mitkopieren)

Hallo,

als erstes will ich mal zu dieser tollen Plattform gratulieren. Bin auf der Suche im Google immer wieder auf euch gestoßen! Leider habe ich aber die Lösung für mein Problem noch nicht gefunden. Ich versuche es jetzt mal zu erklären - vielleicht (hoffentlich) kann mir hier einer helfen.

Betriebssystem: Windows7

Aufgabenstellung: Ich erstelle für meine Teammitglieder pro Projekt verschiedene Kalkulationen. Die Kalkulationen die für meine Kollegen wichtig sind, werden in meiner Ordnerstruktur unter dem Ordner "Freigegeben" zur Verfügung gestellt bzw. reinkopiert. Da meine Kollegen aber keinen Zugang zu diesen Verzeichnis haben, muss dieser Ordner "Freigeben" in eine andere Ordnerstruktur kopiert werden.

zB:

Quelle
C:\Kalkulationen\Haus\Keller\Projekt00234\Daten\Freigegeben --> Ordner existiert und hat einen Inhalt
C:\Kalkulationen\Haus\EG\Projekt04711\Daten\Freigegeben --> Ordner existiert und hat einen Inhalt
C:\Kalkulationen\Haus\OG\Projekt00235\Daten --> KEIN ORDNER --> braucht nicht kopiert werden

Ziel
D:\Projekte\Haus\Keller\Projekt00234\Daten\Freigegeben
D:\Projekte\Haus\EG\Projekt04711\Daten\Freigegeben

Im Ordner "Projekte", soll durch den Kopierbefehl die Ordnerstruktur ab Kalkulationen "ohne Inhalt" erstellt werden.
Nur die Daten (Inhalt) vom Ordner "Freigeben" werden mit kopiert bzw. aktualisiert.

Das ganze soll als "Batch-Job" laufen, der 2 x täglich läuft.

Kann mir hier irgendjemand helfen, ich finde einfach die Lösung dazu nicht. Hoffe ích habe es verständlich erklärt.

Danke Steve

Content-Key: 253062

Url: https://administrator.de/contentid/253062

Printed on: April 18, 2024 at 03:04 o'clock

Member: colinardo
Solution colinardo Oct 25, 2014 updated at 16:41:22 (UTC)
Goto Top
Hallo Steve, Willkommen auf Administrator.de!
als erstes will ich mal zu dieser tollen Plattform gratulieren
Danke für die Blumen face-smile

Das ginge z.B. so
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "quelle=C:\Kalkulationen"  
set "ziel=D:\Projekte"  
for /f "delims=" %%a in ('dir /b /s /AD "%quelle%\Freigeben"') DO @(  
  set "newpath=%%~a"  
  set "newpath=!newpath:%quelle%=%ziel%!"  
  robocopy "%%a" "!newpath!" *.* /mir /R:3 /W:1  
)
Grüße Uwe
Member: steve-austria-2014
steve-austria-2014 Oct 25, 2014 at 15:41:46 (UTC)
Goto Top
Hallo Uwe,

vielen Dank für Dein rasches Feedback - Wow!!

Ich habe jetzt den Quelltext in eine "Batch-Datei" gegeben und aufgerufen - leider ist nichts passiert. Mache ich da noch etwas falsch?
Habe extra noch Echo auf ON gestellt!

Lt. deinem Vorschlag sucht das Programm den Ordner "Freigabe" schon in der 2. Ebene, aber ich habe hier immer wieder verschiedene Ordnerebenen dahinter.
Die Fehlermeldung lautet: Die Datei "''dir /b /s /AD Kalkulationen\Freigeben"" kann nicht gefunden werden.

Siehe oben ....

Danke Steve
Member: bastla
Solution bastla Oct 25, 2014 updated at 16:41:13 (UTC)
Goto Top
Hallo Steve, auch von mir ein Willkommen!

Ergänze bitte die Zeile 4 mit einem Apostroph unmittelbar vor der schließenden Klammer, also:
for /f "delims=" %%a in ('dir /b /s /AD "%quelle%\Freigeben"') DO @(
Grüße
bastla
Member: colinardo
Solution colinardo Oct 25, 2014 updated at 16:41:18 (UTC)
Goto Top
Zitat von @steve-austria-2014:
Lt. deinem Vorschlag sucht das Programm den Ordner "Freigabe" schon in der 2. Ebene,
nein, es sucht diesen Ordner in allen Unterordnern (Parameter /s), hatte nur das fehlende Apostroph vergessen, sorry, ist oben gefixt..
Danke an die Korrektur @bastla .

Grüße Uwe
Member: steve-austria-2014
steve-austria-2014 Oct 25, 2014 at 16:42:28 (UTC)
Goto Top
Halo Uwe und Bastla,

danke für Eure rasche Hilfe. Das ist genau was ich gesucht habe!!!

Perfekt.

Wünsche Euch noch einen schönen Abend.

Steve