rudeboy
Goto Top

Ordner per Batch mit Namen aus Liste (txt,xls) erstellen und jeweils bestimmte Unterordner anlegen

Hallo liebe Batch-Gemeinde,

leider war ich bei einer Besprechung zu einem ordnerbasierten DMS etwas vorlaut, "Das kann man mit einer Batch machen!" und nun hab ich den Salat bei meinen beschränkten Batch-Kenntnissen. ;)

Vorhanden ist eine Liste (txt,xls) mit mehr oder weniger forlaufenden Nummern,

zB:
1
2
5
8
usw

Die Hauptordner sollen diese Namen bekommen.
Weiterhin soll in jedem Ordner eine bestimmte Ordnerstruktur angelegt werden:

1 Ordner1
Ordner2

2 Ordner1
Ordner2

5 Ordner1
Ordner2

Das sollte doch mit einer verschachtelten Schleife und einer Quelldatei mit den Namen/Nummern möglich sein aber leider fehlt mir da Sicherheit für den korrekten Syntax zum Einlesen der Variablen und die verschiedenen for-Schleifen.

Danke und Gruß
Thomas

Content-Key: 158031

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

Printed on: April 25, 2024 at 23:04 o'clock

Member: bastla
bastla Jan 05, 2011 at 10:35:14 (UTC)
Goto Top
Hallo rudeboy!

Für nur einen vorgegebenen Unterordner etwa so:
@echo off & setlocal
set "Basis=D:\Ausgangsordner"  
set "Liste==D:\Ordnerliste.txt"  
set "Unterordner=Ordner2"  

for /f "usebackq delims=" %%i in ("%Liste%") do md "%Basis%\%%i\%Unterordner%"  
Für eine stärker verzweigte Unterordnerstruktur würde ich eine Vorlage erstellen und dann mit "xcopy /t" in den jeweiligen Zielordner "%Basis%\%%i" kopieren.

Grüße
bastla
Member: rudeboy
rudeboy Jan 05, 2011 at 13:27:04 (UTC)
Goto Top
Joah, mit leichten Anpassungen durchaus zu gebrauchen, Danke!
In Zeile 3 hab ich ein Gleichheitszeichen weg gelassen. ;)
Weiterhin habe ich nach der ersten do-Anweisung mit "&" eine weitere md-Anweisung angefügt um dort noch einen Ordner zu erstellen. Oder jetzt auch schon besser mit xcopy arbeiten?

Hatte vergessen mitzuteilen das die Ordnernamen vollständig so aussehen sollen:

123456 name1 GmbH
124567 name2 GbR
(so wie in der Text-Datei)

Manchmal ist da auch ein "&"-Symbol dabei oder andere Sonderzeichen. Liegt es dann daran das er sich "verschluckt" und etliche Ordner mit "wirren" Namen erstellt?

Hab jetzt aber auch gemerkt das er bei Umlauten zB noch rumbockt und falsche Zeichen benutzt.
Was kann man dagegen machen?
Member: bastla
bastla Jan 05, 2011 at 13:44:27 (UTC)
Goto Top
Hallo rudeboy!
In Zeile 3 hab ich ein Gleichheitszeichen weg gelassen. ;)
No problem - wird nicht fehlen ... face-wink
Oder jetzt auch schon besser mit xcopy arbeiten?
Für nur einen zweiten Unterordner hätte ich ebenfalls ein weiteres "md" verknüpft.
Manchmal ist da auch ein "&"-Symbol dabei oder andere Sonderzeichen.
"&" (oder ein anderes Sonderzeichen) lässt sich durch "Maskieren" (= Voranstellen von "^") "entschärfen".
bei Umlauten zB noch rumbockt und falsche Zeichen benutzt.
Hinsichtlich der Umlaute könnte ein Umschalten der Codepage (mit "chcp 1252") oder die Verwendung eines Editors, der ASCII verwendet, helfen - notfalls auch einfach aus der CMD-Shell ein
>>Batchdatei.cmd echo REM äöüßÄÖÜ
ausführen und mit einem beliebigen Editor diese Zeichen (bzw Kopien davon) dann strategisch günstig im Rest des Batches verteilen ... face-wink

Grüße
bastla
Member: rudeboy
rudeboy Jan 17, 2011 at 08:12:53 (UTC)
Goto Top
Hallo Bastla,

wird doch ne komplexere Ordnerstruktur und werd das wohl besser mit xcopy machen.

Was anderes, da nur bestimmte Benutzer in bestimmten Ordnern Änderungsberechtigung haben sollen, würde das mit xcopy /O erfüllt werden wenn ich die Berechtigung in den Quellordnern einmal einstelle?

Gruß
Thomas
Member: bastla
bastla Jan 17, 2011 at 12:07:36 (UTC)
Goto Top
Hallo rudeboy!
... würde das mit xcopy /O erfüllt werden wenn ich die Berechtigung in den Quellordnern einmal einstelle?
Sollte wohl so sein - ich verwende allerdings im Zweifelsfall "cacls" (oder neuere Varianten davon) und kann daher keine Erfahrungswerte liefern ...

Grüße
bastla