27724
Goto Top

Dateien per Drag und Drop kopieren

Hallo,
ich will einen kleinen Job schreiben, der mir per Drag&Drop draufgezogene Dateien&Ordner auf einen USB-Stick kopiert.
Leider hab ich von batch Programmierung überhaupt keine Ahnung und die Infos die ich fionden konnte haben mir nicht wirklich geholfen.
Also so stelle ich mir den Ablauf vor:

for alle_übergebenen_Parameter do
if aktueller_Parameter is Datei
copy aktueller_Parameter f: /Y
else
xcopy aktuellerParameter f:
ende for

Mein Versuch sah bisher so aus:
for %i in (%*) do copy %i f: /Y

Das sollte zumindest Dateien kopieren, tuts aber nicht. Bricht ohne Fehlermeldung ab.

Ich dachte eigentlich das solche Jobs standart sind, aber eine Stunde googeln hat nix gebracht.

mfg
magnet

Content-ID: 29256

Url: https://administrator.de/forum/dateien-per-drag-und-drop-kopieren-29256.html

Ausgedruckt am: 17.04.2025 um 05:04 Uhr

miniversum
miniversum 29.03.2006 um 18:43:31 Uhr
Goto Top
versuch mal:
xcopy /E /H %1 f:

miniversum
ITwissen
ITwissen 29.03.2006 um 23:35:02 Uhr
Goto Top
Da wiedermal nicht dransteht, welches Betriebsystem gemeint ist, gehe ich mal davon aus, dass es Windows XP ist.

Mit Windows XP geht das ganz einfach. Du markierst die Dateien, drueckst die rechte Maustaste und gehst zu Senden an. Dort findest du dann auch deinen USB Stick und ein Click und die Dateien sind drauf.
Biber
Biber 30.03.2006 um 23:26:13 Uhr
Goto Top
@ITwissen
Mit Windows XP geht das ganz einfach.
Jo, und falls es ein Win2000 sein sollte, hilft ein im "Senden An" hinterlegter Link auf folgenden formatierten Oneliner:
::---snipp DemoCopyToStick.bat
@Echo off & set "Stick=L"  
For %%i in (%*) do if exist "%%i\*.*" (  
 ECHO Xcopy /i /s /e /y "%%~fi" "%Stick%:%%~pni"  
) Else  ECHO copy "%%~dpnxi" %Stick%:\  
)
Pause
::------snapp DemoCopyToStick.bat

Wenn die Umgebugungvariable %Stick% definiert ist, zeigt dieser Batch, was (Files oder Folders) er wie kopieren würde.

Wenn das passen sollte, würde ich ihn so scharfmachen:
::---snipp CopyToStick.bat
@Echo off & set "Stick=L"  
For %%i in (%*) do if exist "%%i\*.*" (  
 Xcopy /i /s /e /y "%%~fi" "%Stick%:%%~pni"  
) Else  copy /y "%%~dpnxi" %Stick%:\  
)
::------snapp CopyToStick.bat

Geht natürlich auch mit Drag und Drop von Dateien oder Verzeichnissen aus dem Explorer.

Soll im Explorer auch noch ein Kontextmenüpunkt "Copy2Stick" bei rechter Maustaste auftauchen, dann diese (pfad-angepasste) Copy2Stick.reg doppelklicken.
;--------snipp Copy2Stick.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\Copy2Stick\command]
@="d:\\temp\\copytostick.bat %L"


;---Snapp Copy2Stick.reg

Statt "D:\temp\Copytostick.bat" natürlich den bei Euch gültigen Pfad nehmen.
Der Parameter %L sollte allerdings bleiben.

Hope That Helps
Biber
Biber
Biber 03.04.2006 um 20:47:33 Uhr
Goto Top
@27724

Frage beantwortet? Oder haben wir Dich falsch verstanden? Hilft es?
Kann der Beitrag geschlossen werden?

Gruß Biber
Schmitt.Mathias
Schmitt.Mathias 06.04.2006 um 20:14:35 Uhr
Goto Top
Hi, habs gerade ausprobiert, bei mir jedenfalls funktioniert es einwandfrei.

Gruß
Mathias
Biber
Biber 06.04.2006 um 20:22:24 Uhr
Goto Top
Jau, bei mir auch...
dann setz ich den Beitrag mal auf gelöst.
Schönen Abend allen.

Biber
Schmitt.Mathias
Schmitt.Mathias 06.04.2006 um 21:32:49 Uhr
Goto Top
Hi,

vielleicht sollten wir noch abwarten bis sich "magnet" meldet, ob es bei ihm auch geht.
ansonsten alles in Ordnung.


Gruß
Mathias