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

Erstellung einer komplizierten Batch Datei, für das Verschieben von Windows Ordnern

Frage Entwicklung Batch & Shell

Mitglied: aGeers

aGeers (Level 1) - Jetzt verbinden

10.08.2006, aktualisiert 30.05.2007, 5289 Aufrufe, 7 Kommentare

Hallo zusammen!

Ich hoffe ihr könnt mir helfen..

Ich brauche Hilfe bei der Erstellung einer (für mich zu) komplizierten Batch datei.
Ich muss massenweise Projektverzeichnisse aus mehreren Abteilungen und Servern auslagern...

Also was will ich?

Eine Batchdatei die mir aus:

q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\Datei1..2..3

das macht:


q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\Datei1..2..3

Aus Dokumentationsgründen muss diese Struktur leider zwingend eingehalten werden.
Die doppelten Projektnamen im Pfad kommen durch unterschiedliche Projektnamen in den
einzelnen ABteilungen. Und müssen erhalten bleiben.

Das einzige was (meistens) gleich ist, sind die Projektnummern.
Dieses muss ich dann noch manuell anpassen, aber wenn das Grundgerüst steht, hilft mir das schon riesig weiter...

Ich könnte mir vorstellen das dieses so ungefähr funktionieren könnte:

1.) Feststellen der Projektverzeichnisse
=>DIR "Q:\Auszulagernde Projekte\Schriftverkehr" /B /A:D > d:\qptree.txt

2.) erstellen der Toplevel Verzeichnisse (Projektnamen)
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)"

3.) erstellen der Abteilungsunterordner
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)\Schriftverkehr"

4.) Verschieben der Projektordner mit allen Unterordnern und Dateien ins Ziel
=>move "q:\Auszulagernde projekte\Quellnamen aus qptree.txt\" q:\Auszulagernde projekte2\Quellnamen aus qptree.txt\Abteilung1\"

irgendwie so denke ich...

Bloss das das wie ab, Punkt 2 hackt bei mir...

Hoffe ihr könnt mir helfen!

Vielen, Vielen, Vielen Dank im vorraus!

Mit freundlichen Grüßen
Ansgar Geers
Mitglied: Biber
10.08.2006 um 17:05 Uhr
Na, aGeers,

dann schau doch das nächste mal in "Batch & Shell" vorbei bei solchen Anforderungen.

Lohnt eigentlich kaum, dafür extra eine Batchdatei zu schreiben - zwei zeilen vom CMD-Prompt tätens auch.

01.
::---snipp MoveMyKrempel.bat 
02.
for /f "delims=\ tokens=1-4,*" %%i in (dir /b /s /a:d "q:\Auszulagernde projekte"') do ( 
03.
 Echo md %%i\Auszulagende Projekte2\%%l\%%k\%%l\%%m 
04.
 Echo Move "%%i\%%j\%%k\%%l\%%m" "%%i\Auszulagende Projekte2\%%l\%%k\%%l\%%m" 
05.
)
Testen und das "Echo" rauslöschen, wenn es passt.
Bei mir am CMD-Prompt liefert jedenfalls ein
01.
>for /f "delims=\ tokens=1-4,*" %i in (f:\temp\qOrdner.txt) do @echo md %i\Auszulagende Projekte2\%l\%k\%l\%m 
02.
md q:\Auszulagende Projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\unterordner1..2..3 
03.
md q:\Auszulagende Projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\Datei1..2..3 
04.
md q:\Auszulagende Projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\unterordner1..2..3 
05.
md q:\Auszulagende Projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\Datei1..2..3
...wobei in dieser Datei f:\temp\qOrdner.txt eine Kopie Deiner ersten JETZT-Zeilen steht.
Also das, was bei Dir qpTree.txt heißt.

Hope That Helps
Biber
Bitte warten ..
Mitglied: aGeers
24.08.2006 um 09:41 Uhr
Hi!

Danke für deine Hilfe!

Allerdings funktionierte SIe nicht, habe aber so lange rumgefummelt bis Sie lief..

for /f "delims=\ tokens=1-4,*" %%i in ('dir /b /s /a:d "Q:\P2"') do (
md "%%i\p3\%%l\%%k\"
Q:\robocopy.exe "%%i\P2\%%k\%%l" "%%i\p3\%%l\%%k\" /S /MOVE /R:1 /w:1
)

Bringt zwar Fehlermeldungen das er die Unterverzeichnisse nicht finden kann weil Robocopy
die schon weggeschoben hat, aber funzelt!

Kann mir mir einer erklären, wie ich die noch unterbinde?

Danke nochmal!

Mit freundlichen Grüßen
Ansgar
Bitte warten ..
Mitglied: aGeers
24.08.2006 um 10:02 Uhr
Korrektur:

01.
for /f "delims=\ tokens=1-4,*" %%i in ('dir /b /s /a:d "Q:\P2"') do ( 
02.
 md "%%i\p3\%%l\%%k\%%l" 
03.
 Q:\robocopy.exe "%%i\P2\%%k\%%l" "%%i\p3\%%l\%%k\%%l" /S /MOVE /R:1 /w:1 
04.
)
Das Originale Projektverzeichnis wurde nicht angelegt, nu aber

bye
Ansgar
Bitte warten ..
Mitglied: Biber
24.08.2006 um 19:36 Uhr
Moin aGeers,

na, dann war meine Skize ja nicht ganz umsonst...
Kann mir mir einer erklären, wie ich die [Fehlermeldungen] noch unterbinde?

Indem Du entweder
a) ans Ende der RoboCopy-Zeile 2>nul anhängst ("ignorante Methode")
-oder-
b) indem Du er RoboCopy-Zeile voranstellst: if exist "%%i\P2\%%k\%%l" ("vorausschauende Variante")

Grüße
Biber
P.S. Bitte Beitrag auf "Gelöst" setzen, falls er das jetzt ist.
Bitte warten ..
Mitglied: aGeers
25.08.2006 um 12:31 Uhr
Hi,

mmhh, falsch ausgedrückt..

Es liegt eher an der ersten Zeile...
(Hab Sie immer noch nicht verstanden (Nich mal ansatzweise), aber funzelt..)

Also Dadurch das die erste Zeile auch die Unterverzeichnisse ansteuert findet
Robocopy irgendwann die Unterverzeichnisse nicht mehr weil er die ja schon weggeschoben
hat, bei den root Verzeichnissen ...

Dadurch gibt er innerhalb des Dos Fensters natürlich Fehlermeldungen aus das er die Unterverzeichnisse nicht findet. Er macht aber weiter...
Ist ein Schönheitsfehler, aber nicht wirklich störend... (Dauert nur etwas länger)

bye
Ansgar
Bitte warten ..
Mitglied: aGeers
30.05.2007 um 11:21 Uhr
Also habe es so gelöst:

01.
for /f "delims=\ tokens=1-4,*" %%i in ('dir /b /s /a:d "Q:\P2"') do ( 
02.
 md "%%i\p3\%%l\%%k" 
03.
 Q:\robocopy.exe "%%i\P2\%%k\%%l" "%%i\p3\%%l\%%k" /S /MOVE /R:1 /w:1 
04.
)
Auf dem Laufwerk sieht es so aus:

Ordner P2 hat Unterordner AVA, PLanung, Elt usw. dort sind dann jeweils die Projekte drin

Die verschiebt er dann in den Ordner P3 allerdings Ist das Projektverzeichnis jetzt vorne
und das Abteilung Verzeichnis in dem projekte drin.

Perfekt so wie ich brauche...

Mit freundlichen Grüßen
Ansgar geers
Bitte warten ..
Mitglied: Biber
30.05.2007 um 12:02 Uhr
Moin Ansgar,

was lange währt...

Vielen Dank für die Rückmeldung und das Posten Deiner Lösung.

Ich habe die Skripts in Deinen letzten beiden Postings auf <code> umformatiert,
werde jetzt gleich diesen Beitrag auf "Gelöst" und "Geschlossen" setzen und von "Window Server" nach "Batch & Shell" verschieben.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...