Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Explizite Ordner per Skript, Batch kopieren!

Frage Entwicklung Batch & Shell

Mitglied: Markus1991

Markus1991 (Level 1) - Jetzt verbinden

06.08.2013, aktualisiert 12:15 Uhr, 1413 Aufrufe, 7 Kommentare

Hallo zusammen,

folgende Situation:

Wir betreiben einen internen Fileserver mit diversen Freigaben. Nun hat sich dort im laufe der Jahre eine gewisse Struktur entwickelt, welche nun neu überarbeit werden soll.

Nun zu meinem Problem... wir haben ein Ordner mit "Kunden". In diesem Ordner sind dann all unsere Kunden vertreten (jeweils eigener Ordner)... unter den jeweiligen Kunden gibt es dann noch die Abteilungen (auch eigene Ordner). Und in all diesen Abteilungen gibt es min. ein Projekt (auch wieder eigene Ordner). In diesem Projektordner gibt es dann überall die Verzeichnisse "Angebote", "Dokumentation", "Daten" und "Protokolle".

Aufgrund von Berechtigungsproblemen möchte ich nun die Struktur so erstellen das es einen Hauptordner "Angebote" gibt und darunter dann die Kunden, mit Abteilungen, Projekten und NUR den Ordner Angebote...

Jetzt meine Frage:

Besteht die Möglichkeit ein Skript/Batch file zu schreiben welches die komplette "Kundenstruktur" durchsucht, NUR die Angebotsordner selektiert und an einen Ort xy kopiert?!

Ich hoffe Ihr versteht das durcheinander in dem Kundenordner :D

Viele Grüße
Markus
Mitglied: Endoro
06.08.2013 um 12:17 Uhr
Hallo,
Du müsstest sagen, wie die Ordner heissen (alle "Angebote"?) und wie sie dann am Zielort heissen sollen.

lg.
Bitte warten ..
Mitglied: bastla
06.08.2013 um 12:18 Uhr
... bzw noch besser: Führe 2 Beispiele jeweils mit konkreten Vorher-Nachher-Pfaden an ...

Grüße
bastla
Bitte warten ..
Mitglied: Markus1991
06.08.2013, aktualisiert um 12:51 Uhr
z. B. von \\Fileserver\Kunden\Kunde1\Projekt1\Angebote

nach

\\Fileserver\Angebote\ und dann die Struktur von oben übernimmt, also... \Kunde1\Projekt1 ... wobei man die Struktur ja auch vorher per xcopy übernehmen könnte und dann kopiert.

oder

\\Fileserver\Kunden\Kunde2\Angebote
nach
\\Fileserver\Angebote\Kunde2\ (falls der Kunde nur ein Projekt hat...)

Zitat von Endoro:
Hallo,
Du müsstest sagen, wie die Ordner heissen (alle "Angebote"?) und wie sie dann am Zielort heissen sollen.

lg.
ja diese heißen alle "Angebote", aber halt in unterschiedlichen Strukturen...
Bitte warten ..
Mitglied: Biber
06.08.2013, aktualisiert um 13:01 Uhr
Moin Markus1991,

Zitat von Markus1991:
Jetzt meine Frage:

Besteht die Möglichkeit ein Skript/Batch file zu schreiben welches die komplette "Kundenstruktur" durchsucht, NUR
die Angebotsordner selektiert und an einen Ort xy kopiert?!
Ja, die Möglichkeit besteht.
Ich habe auch keinen Verdacht, warum Endoro und bastla so ausweichend antworten.

Möchtest du jetzt diese Frage als als gelöst kennzeichnen, deine Vorher/Nachher-Beschreibung zusammenharken und damit einen neuen Beitrag aufmachen?

Oder machen wir hier weiter?
Dann bring doch bitte mal Ist/Soll-Beispiele.

Das IST bekommst du z.B. mit 5cm einer "Dir /b /s" -Ausgabe, das SOLL mit Strg-C/Strg-V und einem handelsüblichen Editor.

Menno....

Biber
[Edit] @ Markus1991

Okay, ich zieh meinen Kommentar zurück, hatte sich zeitlich mit deinem letzten überschnitten.
Ich sollte noch viiiiiiiiel ruhiger werden....
[/Edit]
Bitte warten ..
Mitglied: bastla
06.08.2013, aktualisiert um 13:15 Uhr
Hallo Markus1991!

Das könnte dann etwa so aussehen (ungetestet):
01.
@echo off & setlocal 
02.
set "Quelle=\\Fileserver\Kunden" 
03.
set "Ziel=\\Fileserver\Angebote" 
04.
 
05.
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%\Angebote"') do ( 
06.
    set "Quellpfad=%%~dpi" 
07.
    set "Quellordner=%%~nxi" 
08.
    setlocal enabledelayedexpansion 
09.
    echo md "!Quellpfad:%Quelle%=%Ziel%!" 
10.
    echo move "!Quellpfad!!Quellordner!" "!Quellpfad:%Quelle%=%Ziel%!" 
11.
    endlocal 
12.
13.
pause
Das "echo" in den Zeilen 9 und 10 dient dazu, die Befehle für das Erstellen des Zielordners und das Verschieben (zum Testen) nur anzuzeigen ...

[Edit] Wenn kopiert (und nicht verschoben) werden soll, braucht natürlich noch nicht einmal der Zielpfad vorweg erstellt zu werden ("xcopy" macht das automatisch):
01.
@echo off & setlocal 
02.
set "Quelle=\\Fileserver\Kunden" 
03.
set "Ziel=\\Fileserver\Angebote" 
04.
 
05.
for /f "delims=" %%i in ('dir /s/b/ad "%Quelle%\Angebote"') do ( 
06.
    set "Quellordner=%%i" 
07.
    setlocal enabledelayedexpansion 
08.
    echo xcopy /s "!Quellordner!" "!Quellordner:%Quelle%=%Ziel%!\" 
09.
    endlocal 
10.
11.
pause
/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Markus1991
06.08.2013 um 13:44 Uhr
Super, vielen Dank für die schnelle Antwort bastla. Ich werde dein Skript mal testen und gebe dann hier Bescheid.
Bitte warten ..
Mitglied: Markus1991
15.08.2013 um 23:19 Uhr
Hallo,
ich werde die Frage mal auf gelöst setzen, bin nun 2 Wochen im Urlaub und kann es daher nicht testen, bin mir aber sicher das ich durch euch auf eine Lösung gekommen bin. Vielen Dank nochmal.
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...