2016-06-11 21 views
1

Ich möchte eine Stapeldatei erstellen, die nach DOCX-Dateien in meinem Ordner sucht und dann für jedes Verzeichnis ein separates Verzeichnis erstellt und dann jede DOCX-Datei in dieses Verzeichnis kopiert . Mein Ordner enthält Hunderte von Dateien mit so langen Namen und Hauswirtschaft ist ein Albtraum!Stapeldatei in den neu erstellten Ordner mit demselben Namen kopieren

Ich habe gesucht und etwas Code gefunden, der mir hilft, ein neues Verzeichnis für jede .docx-Datei zu erstellen. Hier ist der Link .. „Win 7: CMD batch file for creating directories based on filenames

Der Code, der nur neue Verzeichnis für die Datei erstellt

for %%I in (*.docx) do mkdir "%%~pnI" 

jedoch Wie kopiere ich die Datei in das neu erstellte Verzeichnis mit dem gleichen Namen?

Eg Dateiname ist 20160611150424.docx (wo Zahlen sind JJJJ MM TT HH MM SS) und über den Code erstellt eine 20160611150424.

Datei namens Wie i-Datei verwenden Batch tun, um diese Datei in diese kopieren Mappe? Welcher Code ist zu verwenden?

Vielen Dank,

NewLearner

Antwort

0

lesen copy /?: Sie eine Datei in neu erstellte Verzeichnis kopieren könnte das Ziel als Ordner ohne Dateinamen und die Erweiterung und copy Befehl unter Angabe wird sie behalten):

oder Geben Sie das Ziel mit dem Dateinamen und der Erweiterung explizit an wie folgt:

for %%I in (*.docx) do (
    mkdir "%%~pnI" 2>NUL 
    copy /B "%%~fI" "%%~pnI\%%~nxI" 
) 

Beachten Sie, dass 2>NUL wird Fehlermeldung A subdirectory or file a already exists möglicherweise erzeugt durch mkdir Befehl unterdrücken, wenn dies der Fall ist.

Ressourcen (erforderlich Lesung):

Verwandte Themen