Frage von eddiepoole, 40

Kann Autohotkey einen markierten Text automatisch in eine Datei speichern (idealerweise im Arbeitsordner des Skriptes)?

Gut wäre es, wenn man den Dateinamen auch noch wählen kann. Mein Ziel ist die dynamische Verwaltung von Textbausteinen.

Wahrscheinlich kommen jetzt überwiegend Vorschläge, dass ich mir diverse Clipboard-Programme anschauen soll. Wenn diese Programme Hotstrings unterstützen, ist mir auch das recht.

Antwort
von merkurus, 17

Wäre z.B. mit folgenden Script möglich.

clipboard =
Benutzereingabe =

#c::
Sendinput, ^c
Sleep, 200
Dateiname1 = Datei1.txt
Dateiname2 = Datei2.txt
Menu, MeinMenü, Add, %Dateiname1%, ClipBoard_speichern
Menu, MeinMenü, Add, %Dateiname2%, ClipBoard_speichern
Menu, MeinMenü, Add, Dateinamen_eingeben, Dateinamen_eingeben
Menu, MeinMenü, Add, Quit, Nix
Menu, MeinMenü, Show
Return
Return

Dateinamen_eingeben:
InputBox, Benutzereingabe, Eingabe, Eingabe, , 200, 150
Gosub ClipBoard_speichern
Return

ClipBoard_speichern:
If Benutzereingabe =
{
IfExist, %A_WorkingDir%\%A_ThisMenuItem%
{
FileDelete, %A_WorkingDir%\%A_ThisMenuItem%
}
FileAppend, %Clipboard%,  %A_WorkingDir%\%A_ThisMenuItem%
}
else
{
IfExist, %A_WorkingDir%\%Benutzereingabe%
{
FileDelete, %A_WorkingDir%\%Benutzereingabe%
}
FileAppend, %Clipboard%,  %A_WorkingDir%\%Benutzereingabe%
}
Return

Nix:
Return

Funktioniert also folgendermaßen.
Text markieren -- Windows-Taste und c drücken --
Dann erscheint ein Menü, wo man den Dateinamen auswählen kann.
Auch gibt es an dritter Stelle einen Menüpunkt, wo man den
Dateinamen eingeben kann. Also entsprechend auswählen. --
Die Datei befindet sich dann dort wo du das Script gespeichert hast.

Kommentar von merkurus ,

Kleine Änderung zum Script. Die erste zwei Befehle erst nach der Tastenkombi einfügen. Sonst funktioniert das nicht so richtig. Also wie folgt dann.

#c::
clipboard =
Benutzereingabe =
Sendinput, ^c
...

Keine passende Antwort gefunden?

Fragen Sie die Community