Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Executable script met input op desktop  (gelezen 2144 keer)

Offline BergmanW

  • Lid
Executable script met input op desktop
« Gepost op: 2010/05/27, 10:35:27 »
L.S.

ik durf het bijna niet te vragen.

Heb in W7 een .bat file waarmee ik met exiftool in .jpg files verschillende zaken kan zetten (copyright, owner etc)
Deze staat als icoon op mijn desktop.
Ik kan een map of een enkel bestand er naar toe slepen en dan wordt dit script uitgevoerd met de map of het bestand als input.
De vraag is natuurlijk hoe doe ik dat op Linux = Ubuntu


script Copyright.bat ziet er als volgt uit :
@echo off

rem Update jpg data in file %1, Wil Bergman (c) 2010

rem Wordt gedaan met behulp van exiftool, moet dus in het pad staan.



IF [%1]==[] goto :help



:start

SET JPGFILE=%1

IF NOT EXIST %1 SET JPGFILE=%1.jpg

IF NOT EXIST %JPGFILE% goto :error





c:\Copyright\exiftool -@ c:\Copyright\Copyright_opties.txt %JPGFILE%



shift

IF NOT [%1]==[] goto :start

goto :end



:error

Echo can not find %JPGFILE% or %JPGFILE%.jpg

goto :end



:help

echo copyright.bat werkt de EXIT/IPTC van een JPEG foto bij, met behulp

echo van het programma exiftool (moet dus ook op de computer staan).

echo Aanroep: Copyright_auto {filenaam}

echo Of maak een snelkoppeling naar dit script, en sleep een file daarheen.

echo Wil Bergman (c) 2010

:end

@SET JPGFILE=

pause hallo


Acer Aspire 7520G
Nvidia 8400M G
AMD Turion 64 X2 TL-58
4GB DDR2
160 Gb + 320 GB

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Executable script met input op desktop
« Reactie #1 Gepost op: 2010/05/27, 10:54:49 »
De makkelijkste optie lijkt me Phatch
Wil je zelf iets programmeren, dan kan dat in Bash: http://tldp.org/LDP/abs/html/

Re: Executable script met input op desktop
« Reactie #2 Gepost op: 2010/05/27, 16:15:22 »
IF [%1]==[] goto :help
:start
SET JPGFILE=%1
IF NOT EXIST %1 SET JPGFILE=%1.jpg
IF NOT EXIST %JPGFILE% goto :error
c:\Copyright\exiftool -@ c:\Copyright\Copyright_opties.txt %JPGFILE%
shift
IF NOT [%1]==[] goto :start
goto :end
:error
Echo can not find %JPGFILE% or %JPGFILE%.jpg
goto :end
:help
echo copyright.bat werkt de EXIT/IPTC van een JPEG foto bij, met behulp
echo van het programma exiftool (moet dus ook op de computer staan).
echo Aanroep: Copyright_auto {filenaam}
echo Of maak een snelkoppeling naar dit script, en sleep een file daarheen.
echo Wil Bergman (c) 2010
:end
@SET JPGFILE=
pause hallo

Even letterlijk vertalen...
#!/bin/bash
if [ -z $1 ]; then
echo copyright.bat werkt de EXIT/IPTC van een JPEG foto bij, met behulp
echo van het programma exiftool (moet dus ook op de computer staan).
echo Aanroep: Copyright_auto {filenaam}
echo Of maak een snelkoppeling naar dit script, en sleep een file daarheen.
echo Wil Bergman (c) 2010
fi
while [ -n $1 ]; do
jpgfile=$1
if [ ! -f $1 ]; then jpgfile=$1.jpg; fi
if [ ! -f $1 ]; then
echo can not find $jpgfile or $jpgfile.jpg
fi

exiftool -@ /pad/naar/Copyright_opties.txt $jpgfile
shift
done
echo -n Druk op een toets om door te gaan...
read  -s -n1
echo
« Laatst bewerkt op: 2010/05/27, 16:16:53 door SeySayux »
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline BergmanW

  • Lid
Re: Executable script met input op desktop
« Reactie #3 Gepost op: 2010/05/28, 22:26:10 »
Het is niet zozeer het script, maar het drag en drop gebeuren als je er een icoon op je desktop van hebt gemaakt.

Hoe zorg je ervoor dat je het bestand of de map als parameter opgepakt wordt als je deze naar de icoon sleept en daar loslaat.
Acer Aspire 7520G
Nvidia 8400M G
AMD Turion 64 X2 TL-58
4GB DDR2
160 Gb + 320 GB

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Executable script met input op desktop
« Reactie #4 Gepost op: 2010/05/28, 22:35:25 »
Dat kan met phatch door een actielijst op te stellen (write tag, save file, zoiets) en dan de droplet te openen.
Nu kan je gewoon bestanden naar die droplet slepen zodat ze bewerkt worden.

Offline BergmanW

  • Lid
Re: Executable script met input op desktop
« Reactie #5 Gepost op: 2010/05/28, 23:01:29 »
Ja, dat werkt wel.

Maar, ik kan er niet alle tags mee schrijven die ik met Exiftools aan kan.

Blijft de vraag hoe je het drag en drop voor een eigen gemaakt script kunt doen.
Acer Aspire 7520G
Nvidia 8400M G
AMD Turion 64 X2 TL-58
4GB DDR2
160 Gb + 320 GB

Offline stani

  • Lid
    • http://pythonide.stani.be
Re: Executable script met input op desktop
« Reactie #6 Gepost op: 2010/06/06, 04:25:13 »
Maar, ik kan er niet alle tags mee schrijven die ik met Exiftools aan kan.
Welke tags?

Offline BergmanW

  • Lid
Re: Executable script met input op desktop
« Reactie #7 Gepost op: 2010/06/06, 10:36:31 »
L.S.

mijn lijstje voor exiftool ziet er als volgt uit

# Arguments for ExifTool to tag images as mine

# Wil Bergman, januari 2010

# behavioural options, -F fixes offset errors, -m ignores minor errors, -P keeps original time/date







-overwrite_original

-F

-m

-P

-d

%Y



# Owner etc

-OwnerName=
-Author=
-Artist=
-Copyright<Copyright (c) $createdate,
-CopyrightNotice<Copyright (c) $createdate,
-Contact=

-Credit=
-CopyrightFlag=True 

-Software=
-ApplicationRecordVersion=2

-By-line=
-CreatorWorkEmail=

Nu is dit een combinatie van Exif, Iptc etc.

Als ik dit gezet heb met exiftool en bekijk deze met Phatch, dan zie ik ze allemaal.
Als ik dan de parameters in Phatch ga invullen, dan werken er een aantal niet.

Had dat al uitgezocht, maar heb meerdere malen opnieuw moeten installeren en ben het kwijt.

Ik dacht Ownername, Author en Artist lukken niet

Maar zoals ik zei, het voornaamste is het drag en drop gebeuren.
Acer Aspire 7520G
Nvidia 8400M G
AMD Turion 64 X2 TL-58
4GB DDR2
160 Gb + 320 GB

Re: Executable script met input op desktop
« Reactie #8 Gepost op: 2010/06/06, 17:47:29 »
Installeer het pakket "libimage-exiftool-perl".

Plaats nu het script op een locatie naar keuze, bijvoorbeeld /home/gebruikersnaam/Documenten/fotoscript. Uiteraard wordt "gebruikersnaam" door de ingelogde gebruiker vervangen. Vervolgens klik je met de rechtermuisknop op dit script, kies je voor Eigenschappen, ga je naar het tabblad Rechten en vink je aan: "Uitvoeren van dit bestand toestaan".

Vervolgens maak je een tekstbestand aan op je bureaublad met de volgende inhoud:

[Desktop Entry]
Name=Fotoscript
Type=Application
Exec=/home/gebruikersnaam/Documenten/fotoscript %U
Maak ook dit bestand uitvoerbaar zoals eerder uitgelegd.


Overigens werkt het script zoals SeySayux het postte niet goed.


Nu moet je het script