Programm starten, wenn Datei darauf gezogen wird

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Hallo,

ich würde gerne ein Prorgramm starten, in dem ich eine Datei darauf ziehe. Im konreten Fall möchte ich eine beliebige Datei an einen bestimmten anderen Ort kopieren. Dazu soll es ganz einfach möglich sein diese Datei auf ein Programm zu ziehen, welches den Kopiervorgang durchführt. Leider konnte ich im Netz dazu nichts finden.

Für eure Hilfe bin ich dankbar!

Viele Grüße
Chris
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Danke, das geht scheinbar in die Richtung von dem, was ich mir vorstelle. Muss ich mir einmal anschauen.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Bei MacOS(da wäre eine Ordneraktion allerdings simpler) geht das automatisch, sobald sich deine Anwendung für den entsprechenden Dateityp verantwortlich fühlt. Aber das willst du vermutlich nicht wissen, also für welches Betriebssystem soll das sein?
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Ist leider für Windows. ;-)
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Der Magic Folder geht in die Richtng von dem, was ich mir vorstelle. Jedoch ist der für den KDE Desktop konzipiert. Wie setze ich so etwas direkt in Windows um?
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Stichwort Drag'n'Drop, schau mal, ob dir das weiterhilft: http://everydayscripting.blogspot.com/2 ... p-zip.html
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Danke für den Link. Leider funktioniert es bei mir nicht. Kann es daran liegen, dass ich mit Python 2.5 programmiere?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

DaDiceman hat geschrieben:Danke für den Link. Leider funktioniert es bei mir nicht. Kann es daran liegen, dass ich mit Python 2.5 programmiere?
Da Du uns nicht beschreibst, was "funktioniert" nicht bedeutet, könnte das sicherlich sein. Es kann aber auch an anderen Dingen liegen ;-)
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Sorry, für meine zurückhaltende Art. ;)

"Nicht funtioniert" heißt in diesem Fall, dass sich einfach gar nichts tut.

Ich habe jetzt eine Lösung gefunden, in dem ich es über ein Batchfile verarbeite. Ist das in Ordnung oder eher eine unschöne Lösung?
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Cool, danke!!!
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Versuche gerade noch die Lösung mit der Batchdatei. Aber irgendwie funktioniert es nicht wie es soll. :(

Code: Alles auswählen

IF "%1" == "" (
	echo "Programm wird nicht ausgefuehrt"
) ELSE (
	echo "Programm wird ausgefuehrt"
)

pause
Was ist daran falsch? Wenn ich es direkt ausführe, gibt er die richtige Ausgabe zurück. Ziehe ich eine Datei darauf, bricht er ab. Hat mir jemanden einen Tipp?

Den fertigen Code hatte ich mir folgendermaßen vorgestellt.

Code: Alles auswählen

IF "%1" == "" (
	goto:eof
) ELSE (
	c:\python25\python.exe "X:\pythonprojekte\Transfer\src\MainProgramm.py" %1
)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Probiers mal damit:

Code: Alles auswählen

@ECHO OFF
IF %1!==! (
    ECHO Um das Batchskript zu nutzen, Python-Datei auf das Skripticon ziehen.
) ELSE (
    C:\Python26\python.exe %1
    ECHO ===Ende Python-Skript===
)
PAUSE
Das Pause am Ende kann ganz nützlich sein, um noch was von der Ausgabe lesen zu können.
DaDiceman
User
Beiträge: 25
Registriert: Freitag 20. November 2009, 10:39
Wohnort: Stuttgart

Super, danke für die Hilfe!
Antworten