2017-02-26 2 views
1

Ich bin mit einem xcopy Befehl, so kann ich Dateien per Drag & Drop auf eine Batch-Datei:xcopy erstellen Ordner (Drag & Drop)

xcopy /s /i "%~1" "D:\folder1" 

Wenn ich folder2 auf der Batch-Datei fallen, ich diese:

D: \ Ordner1 \ Dateien

aber ich möchte dieses erhalten:

D: \ Ordner1 \ folder2 \ Dateien

So habe ich folder2 in einen separaten Ordner, um das Verzeichnis kopieren erstellt werden:

C: \ Ordner3 \ folder2

Das erstellt das Verzeichnis folder2 innerhalb folder1. Was ist der Schalter, um Verschieben folder2 in einen separaten Ordner zu beseitigen?

Danke!

+0

Können Sie die Ordnerstruktur angeben? – samdd

+3

Was ist falsch mit 'xcopy/s/i"% ~ 1 "" D: \ folder1 \% ~ nx1 "'? – Compo

Antwort

0

Um mehrere Dateien/Ordner gleichzeitig ziehen zu können, können Sie diesen Stapel verwenden. Es testet, ob das aktuelle Element ein Ordner ist und erstellt bei Bedarf das Ziel shift s das aktuelle Argument und führt eine Schleife durch.

:: DropTarget.cmd 
@Echo off 
Set "Dest=D:\Test\Bed\" 
:loop 
if "%~1" equ "" Exit /b 0 
echo d|findstr "%~a1" >Nul 2>&1 && if not exist "%Dest%%~nx1" Md "%Dest%%~nx1" 
xcopy /S /I "%~1" "%Dest%%~nx1" 
Shift 
Goto :loop