(Nu har jag bytt till Kubuntu)
Skapar ett till alternativ unde
r åtgärder
(Skapa kopia) i menyn som dyker upp när man högerklickar på en fil.
Man får namnge en ny kopia av filen så om man vill göra en kopia i samma mapp som man är i och ge den ett valfritt namn så är det bara ett klick bort.
i mappen
~/.kde/share/kde4/services/skapade jag filen
backupFile.desktop. Det är viktigt att den slutar på .desktop
Detta ska filen inehålla:
[Desktop Entry]Type=ServiceServiceTypes=KonqPopupMenu/PluginMimeType=application/octet-stream;Actions=backupFile[Desktop Action backupFile]Name=Skapa kopiaIcon=backgroundExec=~/bin/cp_backup_dialog.sh %uMimeTypen som jag har angett gör att meny alternativet
Skapa kopia visas för alla sorters filer men inget annat.
Actions visar vilka actions som finns tillgängliga. Här finns det bara en tillgänglig, backupFile.
Icon visar en icon annars visas bara text i menyn.
Exec=~/bin/cp_backup_dialog.sh %u kör ett skript som jag har gjort och
%u gör att sökvägen och filnamnet på den filen man har högerklickat på skickas till skriptet.
Här är skriptet:
01if [[ -f "$1" ]]; then # True if FILE exists and is a regular file.
02 selectedFile="$1"
03 backupPathName=$(zenity --text="Skriv in namnet för kopian och eventuell ny sökvägen." --entry-text="$selectedFile" --entry)
04 if [[ $? == 0 ]]; then # True if previos command exicutet correctly.
05 backupname=${backupPathName##*/}
06 if [[ -n "$backupname" ]]; then # True if the length of "STRING" is non-zero. -n
07 if [[ -a "$backupPathName" ]]; then # True if FILE exists.
08 if zenity --question --ok-label=JA --cancel-label=NEJ --text="Filen $backupname finns redan, vill du skriva över den?"; then
09 if [[ -w "$backupPathName" ]]; then # True if FILE exists and is writable.
10 cp "$1" "$backupPathName"
11 if [[ $? == 0 ]] ; then # True if previos command exicutet correctly.
12 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
13 else
14 zenity --info --text "Backupen misslyckades, kanske har du inte skrivrättigheter här"
15 fi
16 else
17 zenity --info --text "Filen $backupPathName är skrivskyddad så backupen kunde inte tas."
18 fi
19 else
20 zenity --info --text "Backupen är ej genomförd"
21 fi
22 else
23 cp "$1" "$backupPathName"
24 if [[ $? == 0 ]] ; then # True if previos command exicutet$backupname correctly.
25 zenity --info --text "Backupen är nu klar, filen $backupPathName har skapats."
26 else
27 zenity --info --text "Backupen misslyckades, kansk $backupnamee har du inte skrivrättigheter här eller så finns inte mappen du angav."
28 fi
29 fi
30 else
31 zenity --info --text "Backupen är ej genomförd, du namngav inte filen."
32 fi
33 else
34 zenity --info --text "Backupen är ej genomförd"
35 fi
36else
37 zenity --info --text "Du har inte valt någon fil."
38fi
För en mer ordentlig genomgång hur allt fungerar(inte mitt skript men resten) så kolla in