# Ordnerstruktur mit Batch



## phips26 (5. Februar 2014)

Hallo zusammen.

Ich bräuchte eine Batch die folgendes erledigt:

Im Ordner F://Daten/   soll ein Ordner erstellt werden mit Abfrage (Bsp: Bitte Projektnummer eingeben)
In diesem Ordner sollen wiederum mehrere Ordner drinsein,  zb: Plan, Zeichnung...

Wie lautet hierfür der Batch Code?

Danke für eure Hilfe.


----------



## vfl_freak (5. Februar 2014)

Moin,

guckst Du hier:
http://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle

Das mit der zwischenzeitlich Abfrage dürfte schwierig werden ;-)
Du kannst aber eine Projektnummer bei Aufruf als Parameter übergeben ...

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

Hallo freak, 
danke für deinen Link, sehr interessant.

Folgendes hab ich schon:
_______________________
@ECHO OFF

VER

SET /P Ordnernamen1=Bitte Projektdaten eingeben...
mkdir %Ordnernamen1%
________________________

Ich kann nun den gewünschten Namen eingebe und er erstellt mir einen Ordner.
Im diesem erstellten Ordner sollen weitere Ordner, die aber immer den gleichen Namen tragen.

Welchen Befehl brauche ich dass er dir Unterordner macht?
Ich möchte auch einen freien Text in der Batch datei haben ZB: erstellt von. Wie mache ich das?


Daaaaaanke euch


----------



## vfl_freak (5. Februar 2014)

Moin,

ah, ok - der Parameter /P lag mir jetzt nicht an :-(

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

Wie meinst du das jetzt?
Wie ist das mit den Unterordnern


----------



## vfl_freak (5. Februar 2014)

Moin,



> Wie meinst du das jetzt?


ääh, ganz allgemein 



> Wie ist das mit den Unterordnern


Kannst Du dabei denn nicht sowas wie 

```
./Ordner1/Ordner1/Ordner1
```
eingeben?



> Ich möchte auch einen freien Text in der Batch datei haben ZB: erstellt von. Wie mache ich das?


Was genau meinst Du damit 

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

bei deiner variante macht er ordner in ordner in ordner in ordner... usw.
ich möchte aber dass im Hauptordner alle unterordner untereinander stehen.

Mit freiem text meine ich, dass im dos fenster steht: erstellt von phips


----------



## vfl_freak (5. Februar 2014)

Moin,

ok, hatte ich falsch verstanden ...

dann eben_ n_-mal:
"./Ordner1"
"./Ordner2"
...
"./Ordner_n_"

Für Schleifen gibt es FOR !

Zum freien Text:

```
echo Mein freier Text
```

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

Sorry, versteh ich nicht wie du das meinst....


So sieht meine Batch datei aus.
wie soll sie erweitert werden?
:::::::::::::::::::::::::::::::::::::::::::::::


@ECHO OFF

VER


SET /P Ordnernamen1=Bitte Projektdaten eingeben...
mkdir %Ordnernamen1%



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


echo mein freier Text funtioniert auch nicht


----------



## vfl_freak (5. Februar 2014)

hmm ... 

Also diese Batch funktioniert bei mir einwandfrei


```
@echo off
rem #############################################
rem Test für Ausgaben und Erstellung neuer Ordner
rem #############################################
echo =========================
echo Test für eine Textausgabe
echo =========================

rem =========================
rem ersten Ordner erstellen !
rem =========================
SET /P Ordnername1=Bitte Name des 1. Ordners eingeben...
mkdir %Ordnername1%

rem ==========================
rem zweiten Ordner erstellen !
rem ==========================
SET /P Ordnername2=Bitte Name des 2. Ordners eingeben...
mkdir %Ordnername2%

echo ##########

pause
```
ACHTUNG: ist natürlich OHNE Prüfung, ob der Ordner ggf. schon existiert !!

Soll die Anzahl der Ordner flexibel sein, dann kannst ja auch eine Zählvariable einlesen und das Ganze dann damit in einer FOR-Schleife (siehe Abschnitt FOR im Link oben!!) abarbeiten ...

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

Ohjee, ich glaub du hast mich falsch verstanden oder ich hab mich falsch ausgedrückt

ich möchte einen Ordner erstellen der soll dann zB Projekt 1 heißen.
In  diesem Ordner gibt es dan 5 Ordner die immer gleich heißen zb. eingang, ausgang, zeichnung... usw.

Bsp:  C://Projekt1/Eingang


----------



## vfl_freak (5. Februar 2014)

dann eben so:


```
@echo off
rem #############################################
rem Test für Ausgaben und Erstellung neuer Ordner
rem #############################################
echo =========================
echo Test für eine Textausgabe
echo =========================
 
rem =========================
rem ersten Ordner erstellen !
rem =========================
SET /P Ordnername1=Bitte Name des 1. Ordners eingeben...   /* Hier "Projekt1" */
mkdir %Ordnername1%

cd %Ordnername1%
 
rem ==========================
rem zweiten Ordner erstellen !
rem ==========================
SET /P Ordnername2=Bitte Name des 2. Ordners eingeben...  /* hier "Eingang" */
mkdir %Ordnername2%

rem ==========================
rem dritten Ordner erstellen !
rem ==========================
SET /P Ordnername3=Bitte Name des 3. Ordners eingeben...  /* hier "Ausgang" */
mkdir %Ordnername3%
 
/* usw. */

echo ##########
 
pause
```

Mal dumm gefragt: 
lohnt sich denn der ganz Aufwand?
Du wirst die Ordner doch wohl nur einmal anlegen, oder?

Gruß
Klaus


----------



## phips26 (5. Februar 2014)

So leider auch nicht.
ist nun auch egal. ich danke dir für deine hilfe


----------



## vfl_freak (5. Februar 2014)

phips26 hat gesagt.:


> So leider auch nicht.
> ist nun auch egal. ich danke dir für deine hilfe


aha, was genau klappt denn nicht 

*EDIT:*
Habe es gerade nochmal schnell getestet!
Klappt einwandfrei


----------



## phips26 (6. Februar 2014)

Die batch von dir funktioniert schon, aber leider nicht so wie ich es wollt.

Meine Batch sollte folgendes:

Erstellen eines Ordners mit "Bitte ordnername eingeben"-Funktion
Der erstellte Ordner heisst dann beispielsweise Ordner 1
*In Ordner 1* sollen dann weitere Ordner erstellt werden, aber ohne "Bitte ordnername eingeben"-Funktion, die dann heißen:

Ordner 1.1
Ordner 1.2
Ordner 1.3
Ordner 1.4
Diese Ordnername bleiben immer gleich.

Ich hoffe du verstehst wass ich meine


----------



## vfl_freak (6. Februar 2014)

Moin,

hmm, wie sollen denn die Unterordner jetzt heißen 


> Ordner 1.1
> Ordner 1.2
> Ordner 1.3
> Ordner 1.4


oder wie weiter oben geschrieben


> zb. eingang, ausgang, zeichnung... usw.
> Bsp: C://Projekt1/Eingang



Du könntest Dir natürlich mit SET Variablen belegen (so denn die Namen wirklich immer gleich sind) und im Batch-File nutzen:

```
set name1=eingang
set name2=ausgang
...
```

Gruß


----------



## phips26 (6. Februar 2014)

Ordner 1.1 ... sind nur beispielsnamen.
Bei deiner batch macht er die ordner nicht in den neu erstellten ordner.
Ich möchte ja in dem erstellten hauptordner die 5 unterordner erstellen


----------



## vfl_freak (6. Februar 2014)

DOCH, macht er !!
beachte Zeile 15: "cd %Ordnername1%"


----------



## phips26 (6. Februar 2014)

ja jetzt fuktioniert es. habe es übersehen 
Vielen vielen dank

War eine schwere geburt


----------



## vfl_freak (6. Februar 2014)

wem sagst Du das :-D
Aber Hauptsache, es klappt jetzt ...

Gruß
Klaus


----------



## Zvoni (6. Februar 2014)

Hehehe, wenn ich eure Diskussion so sehe, weiss ich warum ich Batch nicht mag.

Ich hätte das Ganze über ein Excel-Blatt mit Makro gemacht, weil es gibt ne schöne API-Funktion von Windows, welche einen ganzen Ordner-Baum per Schleife anlegen kann, 
1. wobei man sich nicht durch den Ordner-Baum hanglen muss
2. wobei es egal ist, ob ein Ordner bereits existiert oder nicht (Weil in dem Fall nichts passiert)

Die Basis-Daten wären im Excel-Blatt,
Beispiel
Spalte A: Laufwerksbuchstabe
Spalte B: Erster Ordnername
Spalte C: Zweiter Ordnername
usw.

Interesse?
Ist nicht wirklich weiter schwierig


----------

