heyalice
Goto Top

Ordner erstellen ll Datei hinein kopieren

Hallo zusammen,

ich möchte den Ordner "Vorlagen_Test" unter Downloads im Ordner "Test" erstellen und die Datei "Test.docx" hineinkopieren.
Allerdings wird bei diesem Code ein Ordner auf meinem Desktop folgendes erstellt: "Test(Ordner)-Vorlagen_Test(Ordner)-Text(WordDatei)

set "Pfad=C:\Users\benutzername\Downloads\Test"  

for /f  "delims=" %%i in ('dir /b "%Pfad%*."') do md "%pfad% %%i\Vorlagen_Test  
echo "Ordner Vorlagen_Test wurde erstellt"  
timeout /T 30

for /f "delims=" %%i in  ('dir /b "%Pfad%*."') do copy Test.docx "%pfad% %%i\Vorlagen_Test  
echo "Test.docx wurde nach Vorlagen_Test kopiert"  
timeout /T 30



echo "Vorgang beendet"   

Könnt ihr mir sagen wo der Fehler liegt?

Ziel: Vorlagen_Test (Ordner) im Ordner unter Downloads/Test erstellen
und die Word Date im Vorlagen_Test Ordner reinkopieren.

Vielen Dank! face-smile

Liebe Grüße,
Alice

Content-Key: 322107

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

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

Member: Biber
Biber Nov 25, 2016 updated at 14:36:43 (UTC)
Goto Top
Moin Alice,

willkommen im Forum.

Also
1) brauchst du eine FOR-Anweisung für diese Aufgabe nur, wenn du z.B in JEDEM Unterordner von %Pfad% einen neuen Unterordner namens whatever anlegen willst oder JEDE Date aus einem Quellordner in diesen neuen Unterordner kopieren willst.
In deinem Fall - EIN Unterordner soll angelgt werden und EINE Datei soll kopiert werden - da reichen genau die Befehle, die du jetzt nach dem DO der FOR-Anweisung platzieren wolltest
2) Du kannst und solltest bei FOR-Anweisungen immer vorher ein So-tun-als-ob auf dem Bildschierm machen, also ein CMD-Fenster öffnen und die FOR-Anweisung (mit Laufvariablen mit einem Prozentzeichen, also %i statt %%i) und einem "DO echo befehle" statt "DO befehle" testen.

In deinem Fall also am CMD-Prompt
set "pfad=c:\users\benutzer\Downloads\test"
for /f  "delims=" %i in ('dir /b "%Pfad%*."') do @echo [Ausgeführt würde:] md "%pfad% %i\vorlage_test
[Ausgeführt würde:] md "c:\users\benutzer\Downloads\test test\vorlage_test

Im Code-Fenster sind die ersten beiden Zeilen eingegeben, die dritte kam per ECHO zurück.
Du kannst sehen,
  • am Beginn der Ausgabe steht ein einzelnes Anführungszeichen, welches kein schliessendes Anführungszeichen später als Gegenpart hat
  • zwischen %pfad% und %i ist ein Leerzeichen (was keinen Sinn macht, es sei denn du wolltest einen Unterordner "test test" anlegen
  • und überhaupt wird ja der Wert %i an gar keiner Stelle benötigt, und es funktioniert bei dir auch nur mit so wenig Problemen, weil es nur einen Unterordner in deinem %pfad% gibt

Bitte spiel mal ein wenig mit der FOR-Anweisung und ECHO für das obige Beispiel am CMD-Prompt, damit du ein Gefühl dafür bekommst.

Wie erwähnt - in deinem Fall brauchst du zwar keine FOR-Klamotten, aber der Tag wird kommen...

Grüße
Biber