WinFuture-Forum.de: Batch Datei für Ordnererstellung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Batch Datei für Ordnererstellung


#1 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 16. Dezember 2011 - 16:14

Hallo,

da ich leider nicht der große Programmierer bin, hoffe ich das Ihr mir helfen könnt.

Ich möchte gerne eine Batch Datei erstellen, die folgendes können sollte:
1.ten Es sollte eine Pfad abfrage enthalten sein.Also wo soll der Speicherort vom neuen Ordner sein.
2.ten Es sollte Eingabe für den Orndernamen enthalten sein.

Für Euch wahrscheinlcih kein Problem.
md und t.w. andere Befehle sind mir bekannt.
Aber wie man solche Abfrage einbaut, weiß ich leider nicht.
0

Anzeige

#2 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 10:39

So bin nun schon alleine weiter gekommen.
Habe dabei aber trotzdem noch ein Problem.
Das Problem was ich dabei habe, ist folgendes:
Der Name des Ordners wird Leerzeichen enthalten und der Pfad zum Zielordner auch.
Wenn ich meine Batch starte bricht robocopy ab.
Da das Problem die Leerzeichen im Zielpfad sind.
Die Batch sieht so aus:

@ECHO OFF
SET /P Ordner=Namen eingeben:
mkdir %Ordner% ping -n 3 localhost> nul
robocopy %Ordner% D:\User Bereich\Test Ordner\Jahr2012\Bilder\%Ordner% /s /e
ende

und das ist der Robocopy fehler:

-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren für Windows

-------------------------------------------------------------------------------

Gestartet: Sat Dec 17 10:10:50 2011

Quelle - C:\Users\SMS\Desktop\Test User Ordner\
Ziel - D:\User\

Dateien :
Optionen: /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

FEHLER: Ungültiger Parameter #3 : "Bereich\Test"

Das ich die Leerzeichen bei der Ordnernamenseingabe mit einem " beginnen und beenden muss weiß ich. Aber wie muss genau die Zielpfadangabe für robocopy in der Batch sein?

Mfg Nokx
0

#3 Mitglied ist offline   Airboss 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 27. Januar 07
  • Reputation: 25

geschrieben 17. Dezember 2011 - 13:05

Vielleicht hilft Dir YARCGUI weiter. Dieses Tool stellt Dir ein graphische Oberfläche für Robocopy zur Verfügung. Dort kannst Du erst einmal in Ruhe die Möglichkeiten testen (Parameter -l nicht vergessen - aber nach Fertigstellung der Batch/CMD wieder entfernen!) und die Batch (oder den CMD-Befehl) später abspeichern.
O <<<--------------- NSA! - Anschluß für Sonden --------------->>> O

Eingefügtes Bild
0

#4 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 13:46

Na wie du schon schriebst: Mit Anführungszeichen.

robocopy "%Ordner%" "D:\User Bereich\Test Ordner\Jahr2012\Bilder\%Ordner%" /s /e
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#5 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 16:08

Danke für Eure Antworten.Nur leider klappt der genannte Lösungsvorschlag nicht.

@d4rkn3ss4ev3r
Wenn ich die von Dir geschriebene Zeile statt meiner einfüge, kommt folgendes:

-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren für Windows

-------------------------------------------------------------------------------

Gestartet: Sat Dec 17 16:05:52 2011

Quelle - C:\Users\SMS\Desktop\Test\
Ziel - C:\Users\SMS\Desktop\User\

Dateien : Ordner

Optionen: /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

FEHLER: Ungültiger Parameter #4 : "D:\User Bereich\Test Ordner\Jahr2012\Bilder"T
est User Ordner""

Dieser Beitrag wurde von Nokx bearbeitet: 17. Dezember 2011 - 16:10

0

#6 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 17:15

Was steht denn in deiner Ordner Variable?
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#7 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 17:47

Also für diese Test.bat

gebe ich: "Test User Ordner" ein.
Die " für die Leerzeichen halt.
Der Ordner selber wird auch erstellt.

Edit: Habe mal statt dem genannten Namen: "Probe Test Ordner" eingegeben.
Dann kommt die gleiche Fehlermeldung.

Habe jetzt schon viele Kombinationen eingeben.
Das einzigste was klappt ist diese Kombination:

-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren für Windows

-------------------------------------------------------------------------------

Gestartet: Sat Dec 17 17:54:31 2011

Quelle : C:\Users\SMS\Desktop\Test_User_Ordner\
Ziel : D:\User_Bereich\Test_Ordner\Jahr2012\Bilder\Test_User_Ordner\

Dateien : *.*

Optionen: *.* /S /E /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

Neues Verz. 0 C:\Users\SMS\Desktop\Test_User_Ordner\

------------------------------------------------------------------------------

Insgesamt KopiertÜbersprungenKeine Übereinstimmung FEHLER Ext
Verzeich.: 1 1 0 0 0 0
Dateien: 0 0 0 0 0 0
Bytes: 0 0 0 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00

Beendet: Sat Dec 17 17:54:31 2011

Also wenn der zu erstellende Ordnername _ enthält,statt der Leerzeichen.
Und die einzelnen Zielpfadordner mit Leerzeichen _ ebenfalls bekommen.
Aber ich denke das es auch ohne diese _ gehen muss.

:-(

das nervt mich halt.

Dieser Beitrag wurde von Nokx bearbeitet: 17. Dezember 2011 - 17:59

0

#8 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 17:53

Du musst einen vollständigen Pfad eingeben.

zB so:

robocopy "C:\user\Eigene Musik" "X:\Musik" *.* /S

Dieser Beitrag wurde von d4rkn3ss4ev3r bearbeitet: 17. Dezember 2011 - 18:01

"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#9 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 18:10

Beitrag anzeigenZitat (d4rkn3ss4ev3r: 17. Dezember 2011 - 17:53)

Du musst einen vollständigen Pfad eingeben.

zB so:

robocopy "C:\user\Eigene Musik" "X:\Musik" *.* /S



Das soll ja in meinen Fall dieser sein:

D:\User_Bereich\Test_Ordner\Jahr2012\Bilder

Der Unterordner von Bilder, der dann erstellt wird und kopiert werden soll:

Test User Ordner

Was müsste ich dann bei meinen robocopy Zielpfad angebe?
Oder besser wie müsste meine Batch dann aufgebaut sein?
Peil das noch nicht ganz

Dieser Beitrag wurde von Nokx bearbeitet: 17. Dezember 2011 - 18:13

0

#10 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 18:12

Also soll es von D:\User_Bereich\Test_Ordner\Jahr2012\Bilder\Test User Ordner

nach wo gehen?

Wäre bisher dann so:
robocopy "D:\User_Bereich\Test_Ordner\Jahr2012\Bilder\Test User Ordner" "X:\Musik" *.* /S
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#11 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 18:17

Beitrag anzeigenZitat (d4rkn3ss4ev3r: 17. Dezember 2011 - 18:12)

Also soll es von D:\User_Bereich\Test_Ordner\Jahr2012\Bilder\Test User Ordner

nach wo gehen?

Wäre bisher dann so:
robocopy "D:\User_Bereich\Test_Ordner\Jahr2012\Bilder\Test User Ordner" "X:\Musik" *.* /S


Nein sorry hat es falsch geschrieben.

Es soll von:
C:\Users\SMS\Desktop\Test User Ordner\
nach:
D:\User Bereich\Test Ordner\Jahr2012\Bilder\Test User Ordner
gehen.
Also alle Ordner mit Leerzeichen ohne _

Sorry nochmal für die Formulierung

Was bewirkt das *.* bei robocopy?

Dieser Beitrag wurde von Nokx bearbeitet: 17. Dezember 2011 - 18:25

0

#12 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 18:31

*.* bewirkt das er sämmtliche Dateien kopieren soll. Egal ob bla.jpg oder test.exe

So sollte es dann seien:

robocopy "C:\Users\SMS\Desktop\Test User Ordner" "D:\User Bereich\Test Ordner\Jahr2012\Bilder\Test User Ordner" *.* /S

/S steht für alle Unterordner auch mit kopieren.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#13 Mitglied ist offline   Nokx 

  • Gruppe: aktive Mitglieder
  • Beiträge: 30
  • Beigetreten: 03. Juli 03
  • Reputation: 0

geschrieben 17. Dezember 2011 - 18:44

Okay.Bei deiner Vorgabe - Steht der Ordner "Test User Ordner" fest.
Aber genau das steht bei mir vorher noch nicht fest.
Deswegen die Abfrage in der Batch nach den Namen des Ordners mit anschließendem "mdir" Aufforderung zum erstellen.

Die Batch soll ja den Ordner erstellen mit anschließendem kopieren.
Danke für Deine Geduld bisher.
0

#14 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.140
  • Beigetreten: 03. Januar 09
  • Reputation: 546

geschrieben 17. Dezember 2011 - 18:52

Achso, sry.

Die Quelle D:\User_Bereich\Test_Ordner\Jahr2012\Bilder ist immer die selbe ja? Und du tippst nur via Befehl den Unterordner ein, der kopiert werden soll?
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP + Stop TiSA
> Mein Hells Toolbox CMD Script <
0

#15 Mitglied ist offline   Airboss 

  • Gruppe: aktive Mitglieder
  • Beiträge: 949
  • Beigetreten: 27. Januar 07
  • Reputation: 25

geschrieben 17. Dezember 2011 - 20:27

... ich glaube es liegt an der (DOS-)Beschränkung auf 8 Zeichen, daß heißt:

Dein Ordner: Test User Ordner
Beschränkung: TestUse~1
O <<<--------------- NSA! - Anschluß für Sonden --------------->>> O

Eingefügtes Bild
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0