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

Via Batch Ordner und Unterordner erstellen

Frage Entwicklung Batch & Shell

Mitglied: supisupper

supisupper (Level 1) - Jetzt verbinden

23.01.2014, aktualisiert 25.01.2014, 7148 Aufrufe, 16 Kommentare, 1 Danke

Hallo zusammen,

ich habe auf ein Netzlaufwerk 2650 Ordner (Haupt und Unterordner zusammen) die ich in den letzten 10 Jahren manuel angelegt habe. Nun möchte ich gerne vom Desktop aus auf dieses Netzlaufwerk "\\Server1\X:\" mit einer Batchdatei zugreifen um dort Ordner und Unterordner mit folgender fester Struktur erstellen zu lassen.

Was mich angeht, ich habe überhaupt keine kenntnisse was das programmieren angeht. Durch suchen, lesen und experementieren habe ich folgendes zusammengestellt das einigermaßen läuft:

Hier der zusammengebastelte Code:
echo off
cls
:start
ECHO.
ECHO 1. Ordner erstell tool
set choice=""
set /p choice=Bitte geben Sie den Ordner Namen ein.
mkdir "%choice%"
pushd "%choice%"
mkdir "01 KUNDENANFRAGE-PROJEKT NO"
mkdir "02 BESTELLUNGEN"
mkdir "03 ZEICHNUNGEN"
cd "01 KUNDENANFRAGE-PROJEKT NO
mkdir "01 Bestellanfragen"
mkdir "02 Fakturierung"
mkdir "03 Korrespondenz"
mkdir "04 Zeichnungen"
mkdir "05 Doku-Liefervorschriften
mkdir "06 Fotos
cd..
cd "02 BESTELLUNGEN"
mkdir "Bestellref-Projekt No"
cd "Bestellref-Projekt No"
mkdir "01 Fakturierung"
mkdir "02 Korrespondenz"
mkdir "03 Zeichnungen"
mkdir "04 QA-Dokumente"
mkdir "05 Verzollung"
mkdir "06 Fotos"
cd..
cd..
cd "03 ZEICHNUNGEN"
mkdir "01 Zeichnung zum Auftrag"
mkdir "02 Zeichnung zum Auftrag"
mkdir "03 Zeichnung zum Auftrag"
echo.


echo.

pause

aber es läuft noch nicht ganz so wie ich es mir vorstelle, ich bekomme es nicht hin, dass die Batchdatei nach Eingabeaufforderung: "Ordner Name eingeben" auf dem Laufwerk nachschaut und prüft ob so ein Ordner existiert, wenn ja dann soll er die Ordner und Unterordner so wie sie in der Batch eingetragenen sind anlegen
wenn nicht eben auffordern einen Ordner Namen anzugeben.

Ich wäre euch sehr dankbar wenn Ihr mir Lösungsvorschläge aufzeigen könntet.

Danke.
Mitglied: tobdad
23.01.2014 um 16:14 Uhr
Ich glaub am einfachsten wäre, wenn du mit einer "if exist" Abfrage arbeitest, ob der Ordner bereits besteht.


echo off
cls
:start
ECHO.
ECHO 1. Ordner erstell tool
set choice=""
set /p choice=Bitte geben Sie den Ordner Namen ein.

if exist "\\Server1\X:\%choice%" GOTO :END

mkdir "%choice%"
pushd "%choice%"
mkdir "01 KUNDENANFRAGE-PROJEKT NO"
mkdir "02 BESTELLUNGEN"
mkdir "03 ZEICHNUNGEN"
cd "01 KUNDENANFRAGE-PROJEKT NO
mkdir "01 Bestellanfragen"
mkdir "02 Fakturierung"
mkdir "03 Korrespondenz"
mkdir "04 Zeichnungen"
mkdir "05 Doku-Liefervorschriften
mkdir "06 Fotos
cd..
cd "02 BESTELLUNGEN"
mkdir "Bestellref-Projekt No"
cd "Bestellref-Projekt No"
mkdir "01 Fakturierung"
mkdir "02 Korrespondenz"
mkdir "03 Zeichnungen"
mkdir "04 QA-Dokumente"
mkdir "05 Verzollung"
mkdir "06 Fotos"
cd..
cd..
cd "03 ZEICHNUNGEN"
mkdir "01 Zeichnung zum Auftrag"
mkdir "02 Zeichnung zum Auftrag"
mkdir "03 Zeichnung zum Auftrag"
echo.


echo.

:END

pause
Bitte warten ..
Mitglied: supisupper
23.01.2014 um 16:42 Uhr
@tobdad

oh.. so schnell eine Antwort
vielen Dank tobdat, ich werde es gleich mal probieren und gebe natürlich im ANschluss ein response.
Bitte warten ..
Mitglied: supisupper
23.01.2014 um 16:59 Uhr
Hi tobdat,

leider kein Erfolg.

Die meldung lautet: Es existiert bereits ein verzeichnis in.... und das für alle 3 Blöcke.

Trotzdem Danke.
Bitte warten ..
Mitglied: Endoro
23.01.2014 um 20:18 Uhr
Hey,

mir ist nicht klar geworden, was du beabsichtigst, ob du auf dem Server bereits angemeldet bist, warum der Ordner Name 2x abgefragt werden soll

ich bekomme es nicht hin, dass die Batchdatei nach Eingabeaufforderung: "Ordner Name eingeben" auf dem Laufwerk nachschaut und prüft ob so ein Ordner existiert, wenn ja dann soll er die Ordner und Unterordner so wie sie in der Batch eingetragenen sind anlegen
wenn nicht eben auffordern einen Ordner Namen anzugeben.
...
Gruss.
Bitte warten ..
Mitglied: bastla
23.01.2014, aktualisiert um 22:15 Uhr
Hallo supisupper!

Abgesehen davon, dass ich auch nicht so richtig verstehe, wo Dein Problem liegt, einige Hinweise:

  • In "\\Server1\X:\" dürft ein ":" zuviel sein ...
  • Wenn Du einen fixen Bestandteil (eben "\\Server1\X") im Pfad hast, sollte der auch in eine Variable (zB %Pfad%) - so kannst Du ihn ggf einfacher ändern.
  • "mkdir" lässt sich auf "md" abkürzen.
  • Anstelle des "cd"-Gehüpfes könntest Du einfach komplette Pfade angeben (mit den Variablen für den Pfad und %choice% vorne weg).
  • Wenn Du einen Unterordner anlegst, wird bei Bedarf der "Oberordner" automatisch erstellt - zB würde md "%Pfad%\%choice%\02 BESTELLUNGEN\Bestellref-Projekt No\01 Fakturierung" die Ordner "%choice%", "02 BESTELLUNGEN" und "Bestellref-Projekt No" (falls einer oder mehrere noch nicht vorhanden wären) gleich im selben Arbeitsgang erzeugen.
  • Kosmetik: Ein angefügtes " 2>nul" unterdrückt die Anzeige einer Fehlermeldung (etwa, wenn es den Ordner, der angelegt werden soll, schon gibt),

Grüße
bastla
Bitte warten ..
Mitglied: GhostScripter
24.01.2014 um 08:18 Uhr
Also für den Fall, dass die Verzeichnisstruktur immer gleich ist, sieh Dir doch mal das Windows Standard Programm xcopy an.

Mit xcopy <Quelle> <Ziel> /S /T legst Du nur die Ordnerstruktur an, ohne Dateien zu kopieren.
Dann noch einen nette IF EXIST Abfrage, um herauszufinden, ob das Zielverzeichnis eventuell schon angelegt ist, und fertig.
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 08:48 Uhr
Zitat von Endoro:

Hey,

mir ist nicht klar geworden, was du beabsichtigst, ob du auf dem Server bereits angemeldet bist, warum der Ordner Name 2x
abgefragt werden soll

> ich bekomme es nicht hin, dass die Batchdatei nach Eingabeaufforderung: "Ordner Name eingeben" auf dem Laufwerk
nachschaut und prüft ob so ein Ordner existiert, wenn ja dann soll er die Ordner und Unterordner so wie sie in der Batch
eingetragenen sind anlegen
> wenn nicht eben auffordern einen Ordner Namen anzugeben.
...
Gruss.

Guten morgen Endoro,

wie oben erwähnt, ich bin kein Fachmann. Ich bin ein Anwender der etwas Ahnung von Laufwerken, Verknüpfungen und Prog.Installs hat mehr nicht.

das Laufwerk X vom Server ist als Netzlaufwerk auf meinem desktop verbunden. Im Explorer klicke ich die Verknüpfung an, dann gehe ich auf die vezeichnisse und lege jedesmal manuell halt die Ordner und unterordner an die gerade benötigt werden.

Zu deiner Frage warum der ordner 2 mal abgefragt werden soll,es sind Kunden bzw. Lieferanten deren Ordner bereits auf LW X:\ existieren und wenn eine neue Anfrage oder eine neue Bestellung kommt soll die Batch fragen bzw gucken ob so ein Ordner existiert wenn ja halt die Unterordner anlegen... so dachte ich es mir eigentlich.

Ich hoffe als Leie konnte ich Dir mein Problem bzw. was ich gerne erreichen würde schildern.

Grusse
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 09:02 Uhr
Zitat von bastla:

Hallo supisupper!

Abgesehen davon, dass ich auch nicht so richtig verstehe, wo Dein Problem liegt, einige Hinweise:

  • In "\\Server1\X:\" dürft ein ":" zuviel sein ...
  • Wenn Du einen fixen Bestandteil (eben "\\Server1\X") im Pfad hast, sollte der auch in eine Variable (zB %Pfad%) - so
kannst Du ihn ggf einfacher ändern.
  • "mkdir" lässt sich auf "md" abkürzen.
  • Anstelle des "cd"-Gehüpfes könntest Du einfach komplette Pfade angeben (mit den Variablen für den
Pfad und %choice% vorne weg).
  • Wenn Du einen Unterordner anlegst, wird bei Bedarf der "Oberordner" automatisch erstellt - zB würde md
"%Pfad%\%choice%\02 BESTELLUNGEN\Bestellref-Projekt No\01 Fakturierung" die Ordner "%choice%", "02
BESTELLUNGEN" und "Bestellref-Projekt No" (falls einer oder mehrere noch nicht vorhanden wären) gleich im
selben Arbeitsgang erzeugen.
  • Kosmetik: Ein angefügtes " 2>nul" unterdrückt die Anzeige einer Fehlermeldung (etwa, wenn es den
Ordner, der angelegt werden soll, schon gibt),

Grüße
bastla


Hallo bastla,

ich habe die Batch da oben mir zusammengelickt und immer wieder probiert bis ich es soweit hatte das es mir die Ordnerstruktur halbwegs anlegt.
ich muss das was Du vorschlägst erst einmal verdauen, dann verstehen /Newbee). Ich werde diese von Dir vorgeschlagenen Zeilen in die Batch einkopieren und testen mal schauen was dabei rauskommt.

Eine Frage zusätzlich wegen "X" Laufwerk, ich habe vergessen zu erwähnen dass mein Desktop über Domäne an Server verbunden ist. Geht es überhaupt die Batch vom
Desktop aus aufrufen und auf LW X: ordner anlegen lassen ? Bisher strate ich die Batch auf dem verknüpften Laufwerk.

Gruß
Supi
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 09:09 Uhr
Zitat von GhostScripter:

Also für den Fall, dass die Verzeichnisstruktur immer gleich ist, sieh Dir doch mal das Windows Standard Programm xcopy an.

Mit xcopy <Quelle> <Ziel> /S /T legst Du nur die Ordnerstruktur an, ohne Dateien zu kopieren.
Dann noch einen nette IF EXIST Abfrage, um herauszufinden, ob das Zielverzeichnis eventuell schon angelegt ist, und fertig.

Hallo GhostScripter

eine Batch wäre mir lieber weil ich es erweitern kann wenn weiterer Bedarf an befehle dazukommen sollten denke ich mir.

Trotzdem Danke.
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 09:14 Uhr
Hallo an alle,
sollte ich vielleicht eine kleine Grafik vom Istzustand des LW erstellen und hochladen damit mein problem und was ich erreichen möchte besser verständlich wird.

Was meint Ihr ?

Gruß
supisupper
Bitte warten ..
Mitglied: GhostScripter
24.01.2014 um 09:20 Uhr
Die Idee ist nicht schlecht. Gib auf der Kommandozeile den Befehl tree X:\ ein

Du wirst sehen, dass er Dir alle Verzeichnisse anzeigt. Such Dir dann ein repräsentatives aus und setze den Namen hinter den \
Bitte warten ..
Mitglied: GhostScripter
24.01.2014 um 09:23 Uhr
xcopy ist ein Programm für die Kommandozeile. Es ist auf jedem Windows installiert und ist hervorragend für die Batch Verarbeitung geeignet.

xcopy /h gibt Dir eine Übersicht der Optionen und Schalter
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 12:25 Uhr
Hallo an alle,
ich habe hier eine Verzeichnisstruktur als Bild erstellt. Ich erhoffe mir dadurch das das vielleicht besser rüberkommt wie ich es mir vorstelle jedoch schriftlich nicht rüberbringen konnte.



Mit dem Bildeinfügen befehl war ich mir nicht sicher ob es klapt, daher die Struktur hier nochmal als text:
Die Batch-Datei soll folgendes ausführen:

Bitte geben Sie den Ordner Namen ein: (Hauptordner) zb. Kunde-Heinzfranz
*hier püfen, wenn Kunde-Heinzfranz auf dem LW existiert dann in Ordner Kunde-Heinzfranz diese ordnerstrucktur anlegen:

Ordner 1 "01 KUNDENANFRAGE-PROJEKT NO"
- Unterordner-
"01 Bestellanfragen"
"02 Fakturierung"
"03 Korrespondenz"
"04 Zeichnungen"
"05 Doku-Liefervorschriften
"06 Fotos

Ordner 2 "02 BESTELLUNGEN"
- Unterordner-
" Bestellref-Projekt No“
- Unterordner-
"01 Fakturierung"
"02 Korrespondenz"
"03 Zeichnungen"
"04 Doku-Liefervorschriften
"05 Fotos

Ordner 3 "03 ZEICHNUNGSARCHIV"
"01 Zeichnung zum Auftrag"
"02 Zeichnung zum Auftrag"
"03 Zeichnung zum Auftrag"

*Wenn Kunde-Heinzfranz nicht existiert, dann die komplette obige Struktur mit dem Ordner Namen „Kunde-Heinzfranz“ anlegen.

Ich hoffe ich konnte mit dieser Aufzeichnung meinen Wunsch euch näher bringen und würde mcih riesig freuen wenn Ihr mir helfen könntet.

Danke nochmals.
supisupper
Bitte warten ..
Mitglied: supisupper
24.01.2014 um 12:29 Uhr
Zitat von GhostScripter:

Die Idee ist nicht schlecht. Gib auf der Kommandozeile den Befehl tree X:\ ein

Du wirst sehen, dass er Dir alle Verzeichnisse anzeigt. Such Dir dann ein repräsentatives aus und setze den Namen hinter den
\

Hi GhostScripter,

Befehl tree X:\ eingegeben, die Verzeichnisse liefen im Fenster beinahe unaufhörlich die Überlegung mit xcopy scheint mir als Lösung falls es mit batch nicht klappt am nahesten zu sein.

Nochmals Danke.

Gruß
supisupper
Bitte warten ..
Mitglied: bastla
LÖSUNG 24.01.2014, aktualisiert 25.01.2014
Hallo supisupper!

Vorweg zu
Geht es überhaupt die Batch vom Desktop aus aufrufen und auf LW X: ordner anlegen lassen ?
Wenn Du die nötigen Berechtigungen hast, ist das kein Problem, speziell wenn Du (wie empfohlen und unten gezeigt) mit vollständigen Pfaden arbeitest ...
*hier püfen, wenn Kunde-Heinzfranz auf dem LW existiert dann in Ordner Kunde-Heinzfranz diese ordnerstrucktur anlegen:
und
*Wenn Kunde-Heinzfranz nicht existiert, dann die komplette obige Struktur mit dem Ordner Namen „Kunde-Heinzfranz“ anlegen.
laufen für mich auf das selbe Ziel hinaus: im Endeffekt soll es alle Ordner geben; daher würde ich sie einfach jedesmal anzulegen versuchen (wenn es einen Ordner schon gibt, passiert ja durch ein "md" nix Schlimmes - es wird nur eine Fehlermeldung ausgegeben, und diese kann auch - siehe oben - unterdrückt werden) - ungetestet etwa so:
01.
@echo off & setlocal 
02.
cls 
03.
ECHO. 
04.
ECHO 1. Ordner erstell tool 
05.
set "Kunde=" 
06.
set /p Kunde=Bitte geben Sie den Namen ein:  
07.
 
08.
if defined Kunde ( 
09.
10.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\01 Bestellanfragen" 
11.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\02 Fakturierung" 
12.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\03 Korrespondenz" 
13.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\04 Zeichnungen" 
14.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\05 Doku-Liefervorschriften" 
15.
    md "X:\%Kunde%\01 KUNDENANFRAGE-PROJEKT NO\06 Fotos" 
16.
 
17.
    md "X:\%Kunde%\02 BESTELLUNGEN\Bestellref-Projekt No\01 Fakturierung" 
18.
    md "X:\%Kunde%\02 BESTELLUNGEN\Bestellref-Projekt No\02 Korrespondenz" 
19.
    md "X:\%Kunde%\02 BESTELLUNGEN\Bestellref-Projekt No\03 Zeichnungen" 
20.
    md "X:\%Kunde%\02 BESTELLUNGEN\Bestellref-Projekt No\04 Doku-Liefervorschriften" 
21.
    md "X:\%Kunde%\02 BESTELLUNGEN\Bestellref-Projekt No\05 Fotos" 
22.
 
23.
    md "X:\%Kunde%\03 ZEICHNUNGEN\01 Zeichnung zum Auftrag" 
24.
    md "X:\%Kunde%\03 ZEICHNUNGEN\02 Zeichnung zum Auftrag" 
25.
    md "X:\%Kunde%\03 ZEICHNUNGEN\03 Zeichnung zum Auftrag" 
26.
  ) 2>nul 
27.
) else ( 
28.
    echo Keine Eingabe! 
29.
30.
pause
Grüße
bastla
Bitte warten ..
Mitglied: supisupper
25.01.2014 um 20:47 Uhr
Hallo Bastla,
ich habe Dein Batch Heute getestet, es legt die Ordnerstruktur komplett an und es funktioniert sehr gut.
Die Bach funktioniert auch beim aufruf vom Desktop aus. (Freigabe auf LW X: ist vorhanden).

Auf dieses Grundgerüst aufbauend, kann ich ja nun etwas experementieren um zu schauen was ich damit noch so anstellen kann.


vielen herzlichen Dank für Deine Mühe und schöne Grüße.


Supisupper
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Ordner erstellen und verschieben (6)

Frage von Fromeonly zum Thema Batch & Shell ...

SAN, NAS, DAS
DSM Synology Unterordner erstellen - Freigabe über Computermanagement (3)

Frage von freeskierchris zum Thema SAN, NAS, DAS ...

Windows Netzwerk
Netzwerkressource ohne Laufwerksbuchstabe via Batch bzw. Scrip erstellen (13)

Frage von der-suchende zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Dateien mit Teil des Dateinamen per Batch in Unterordner verschieben (14)

Frage von smitternacht zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...