dieablo
Goto Top

Interaktion mit einer Datei

Problem
[Edit] Auf Gelöst" gesetzt und geschlossen am 15.4.2006 Biber [/Edit]

Hallo,

ich hoffe das Thema gibt es nicht schon, habe es leider nicht gefunden sonst würde ich die Frage jetzt nicht stellen.

Folgendes Problem:

Ich möchte eine Datei mit der Maus auswählen, dieser dann über eine Eingabeaufforderung einen neuen Namen geben und dann in einem von mir vorgegebenes Verzeichnis kopieren und das alles mit einem Klick (ausgenommen die Bestätigung des neuen Namens)

Beispiel:

rechte maus auf datei, Kontexmenü öffnet sich, verschieben auswählen, eingabe aufforderung öffnet sich, neuen namen eingeben und bestätigen, datei wird in einem von mir festgelegten Verzeichnis kopiert (das Verzeichnis soll einmal festgelegt werden und dann nicht mehr geändert werden)

Ist das Möglich und wenn ja mit welcher Sprache.
Vielleicht könnt ihr mir ja auch Lösungsansätze geben.

Gruß
Dennis

P.S. Ich hoffe Ihr könnt das Problem verstehen.

Content-ID: 28933

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

Ausgedruckt am: 19.11.2024 um 03:11 Uhr

ITwissen
ITwissen 25.03.2006 um 05:44:32 Uhr
Goto Top
Kein Problem. Zuerst holst du dir Autohotkey.
http://www.autohotkey.com

Dann schreibst du folgenden Code in ein AHK-Script:

SplitPath, 1 , FileName
InputBox, newName, Rename, %SendTo%\ ,,,,,,,, %FileName%
If ErrorLevel <> 0 
	Exit
MsgBox,1, Really, Are you sure?
IfMsgBox, Ok
	FileMove, %1%, %SendTo%\%newName% 

Das compilierst du und legst es in den Ordner:

%UserProfile%\Sendto

Als letztes setzt du die Umgebungsvariable SendTo an, in dieses Verzeichnis wird die umbenannte Datei geschrieben.

Ab jetzt kannst du mit der rechten Maustaste auf eine Datei und dann auf Senden An und auf das Programm.

Das macht minimalst, was du willst. Darauf kannst du aufbauen und verbessern.
dieablo
dieablo 25.03.2006 um 12:25:20 Uhr
Goto Top
bitte löschen....
dieablo
dieablo 25.03.2006 um 13:13:31 Uhr
Goto Top
bitte löschen...
dieablo
dieablo 25.03.2006 um 13:37:05 Uhr
Goto Top
Hallo,

wo bitte löschen steht standen fragen, die ich mir miterweile selber beantworten konnte.
Eine Frage habe ich aber noch, wie kann ich DOS bzw. Systembefehle verwenden ??
Z.B.:

SplitPath, 1 , FileName

dir %1% > c:\test.txt

Gruß
Dennis
ITwissen
ITwissen 25.03.2006 um 13:38:39 Uhr
Goto Top
1. Wie erreichst du, das er den Pfad der
Datei einliest, worauf ich senden an
geklickt habe ?? Ist das die erste Variable
SplitPath, wenn ja wie arbeitest du mit der
?

Der Dateiname wird uebergeben als Option. Wenn du es auf der Kommandozeile ausfuehren wuerdest wuerde es so aussehen:

ahkprog.exe pfad_dateiname



2. Wofür steht die 1 ??

Die 1 steht fuer die erste Option, in dem fall pfad_dateiname


3. Was steht in %SentTo% ???

SendTo ist die Umgebungsvariable, die du unter Systemsteuerung, System, Erweitert, Umgebungsvariablen setzen kannst. Wenn du willst, kannst du dein Zielpfad auch direkt eintragen. Mit der Umgebungsvariable laesst sich das aber besser steuern.

Grob erklaert mahct das Script folgendes:

Splitpath = holt den Dateinamen ohne Pfad aus der Variablen 1.

Inputbox = Fragt dich nach den neuen Namen und speichert den in newName

If Errorlevel = Cancel gedrueckt, Ende

MsgBox = Sicherheitsabfrage

IfMsgBox = Okay gedrueckt

FileMove = Orginaldatei 1 nach verscheiben.
dieablo
dieablo 25.03.2006 um 13:42:11 Uhr
Goto Top
Danke !!!!!!!

Das habe ich miterweile auch raus face-smile

Gruß
Dennis
ITwissen
ITwissen 25.03.2006 um 13:45:59 Uhr
Goto Top
Achtung, DOS Befehle gibt es ab Windows NT eigentlich nicht mehr, weil es kein DOS gibt. Was du meinst sind Befehle der Command-Shell.

Dazu musst du auch die Command-Shell aufrufen, denn die Befehle wie dir werden nur dort verstanden.

Dein Beispiel wuerde in AHK folgendermassen programmiert:
run, cmd /C dir %1% > c:\test.txt