OVH Cloud OVH Cloud

Petit script malin pour windows

16 réponses
Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonjour !


Script tout bête. Il permet de récupérer, dans le presse-papier (clipboard),
une liste de nom de fichiers sélectionnés dans un des explorateurs de
windows.


Source :
import string,sys
from win32clipboard import *
def setclip(txt):
OpenClipboard()
EmptyClipboard()
SetClipboardText(txt)
CloseClipboard()
setclip(string.join(sys.argv[1:],'\r\n'))


Mise en place :
- copier le script sous le nom arg2clipboard.pyw (n'oubliez pas le
'w')
- créer un icône sur le bureau, avec, comme cible :
C:\Python23\pythonw.exe C:\pyt\arg2clipboard.pyw
(il faut adapter le chemin, là où on a enregistré le script)


Utilisation :
Ouvrir l'explorateur ; sélectionner un ou plusieurs fichiers ;
clic-droit
+ "copier"
Clic-droit sur l'icone + "coller"
Ouvrir un éditeur de texte ; coller


Divers :
- ça marche aussi, si, à la place du copier-coller, on fait un
drag-and-drop des fichiers, vers l'icone ;
- ça marche aussi, si on glisse l'icone dans la barre de lancement
rapide ;
- avec le même principe, vous pouvez compléter le script, pour zipper la
sélection ; l'envoyer par mail, ou en ftp ; etc.


Conclusion :
Même pour scripter, Python, c'est génial.

10 réponses

1 2
Avatar
gpg
Michel Claveau - abstraction méta-galactique non triviale en fuite
perpétuelle. wrote:


Même pour scripter, Python, c'est génial.
^^^^


N'oublions quand même pas que, basiquement, Python est un langage de
script...

Avatar
Matthieu Villeneuve
"gpg" wrote in message
news:celoe4$g31$
N'oublions quand même pas que, basiquement, Python est un langage de
script...


Qu'appelez-vous un langage de script ?
Merci,


--
Matthieu Villeneuve

Avatar
Xavier Combelle
N'oublions quand même pas que, basiquement, Python est un langage de
script...



Qu'appelez-vous un langage de script ?
Merci,
Un langage plutôt restrictf qui ne permet de ne faire que des scripts

(comme le shell) :
Python n'en est pas un, il fait plutôt partie des langages dynamiques
(comme smalltalk, javascript, perl)
voir: http://activestate.com/Company/NewsRoom/whitepapers.plex
Pour des raisons historique, et par l'absence du terme dynamique,
on a longtems classé les langages dynamique comme étant des langages de
script, faisant croire qu'ils n'étaient pas destinés à réaliser des
vraies applications


Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonsoir !

Je suis assez d'accord, avec vos réponses :
- la définition des langages de scripts ne correspond à rien de précis
(on pourrait dire que c'est une abstraction qui fuit) ;
- et pourtant, certains ont classé Python comme langage de script ;
- Python est un langage dynamique particulièrement abouti.


Par contre, je ne vois pas pourquoi un langage de script serait plutôt
restrictif. C'est une extrapolation courante, mais sans réellement
fondement.
Avatar
Xavier Combelle
Par contre, je ne vois pas pourquoi un langage de script serait plutôt
restrictif. C'est une extrapolation courante, mais sans réellement
fondement.


Parce la définition de script est elle même très restrictive
d'après le jargon français:

script
n. m.
[langage] * Suite d'instructions simples, peu structurées, permettant
d'automatiser certaines tâches en se passant d'un réel langage.

D'après moi, le langage est restricitf, pas dans ce qu'il est capable de
faire (IMHO, beaucoup sont Turing complete), mais par ce qu'il est
conçu de façon à permettre des actions dans un périmètre.

comme dit Eric S. Raymond
http://www.faqs.org/docs/artu/ch08s03.html#id2936413$
"The first important thing to bear in mind when designing a minilanguage
is, as usual, to keep it as simple as possible."
Ce qu'il dit à propose des minilangages s'applique aussi aux langages de
scripts: un langage de script est conçu pour assembler des commandes,
lui faire faire autre chose le transforme en un autre langage, qui ne
sera plus alors aussi simple que possible.

Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonjour !


d'après le jargon français
En fait, c'est la définition, d'UNE instanciation d'UN jargon français.




Mais il y en a d'autres. On trouve des caractéristiques variables (parfois
contradictoires), selon les sources : les langages de scripts sont
interprétés ; ils utilisent des scripts sous forme de texte ; n'utilisent
pas de branchements ; restent à l'intérieur d'un espace d'exécution défini
et limité ; etc.


La définition OFFICIELLE d'un script, c'est le découpage de séquences sous
forme de textes. Dès lors que l'on se rappelle cela, associer le mot
langage au mot script rend l'expression incongrue.


@+
--
Michel Claveau



Avatar
Matthieu Villeneuve
"Xavier Combelle" wrote in message
news:410f5229$0$21760$
Qu'appelez-vous un langage de script ?
Un langage plutôt restrictf qui ne permet de ne faire que des scripts

(comme le shell) :


Je ne vois aucune difference entre un "script" et un "programme" (en gros,
une suite d'instructions), donc je ne vois aucune raison d'appeler un
langage de programmation "langage de script". Il existe des programmes
relativement compliques en Shell Unix, et des programmes tres simples en C.


--
Matthieu Villeneuve


Avatar
Matthieu Villeneuve
"Michel Claveau - abstraction méta-galactique non triviale en fuite
perpétuelle." wrote in
message news:ceq8h1$h6o$
d'après le jargon français
En fait, c'est la définition, d'UNE instanciation d'UN jargon français.




Mais il y en a d'autres. On trouve des caractéristiques variables (parfois
contradictoires), selon les sources : les langages de scripts sont
interprétés ; ils utilisent des scripts sous forme de texte ; n'utilisent
pas de branchements ; restent à l'intérieur d'un espace d'exécution défini
et limité ; etc.


Une autre confusion ici: parler de "langage interprete" n'a pas vraiment
de sens, le fait d'etre interprete ou compile n'est pas une caracteristique
d'un langage mais d'une implementation...

Pouvez-vous expliciter "des scripts sous forme de texte" ? Pour tous les
langages que je connais, les programmes sont ecrits, donc stockes sous
forme de texte.

Y'a t-il des langages utilises de nos jours et ne permettant pas de
branchements ?

Merci,


--
Matthieu Villeneuve




Avatar
Xavier Combelle
La définition OFFICIELLE d'un script,
C'est quoi une définition officielle?

par exemple, d'après l'atilf, la définition du script est:

SCRIPT: subst. masc.
CIN., TÉLÉV. Scénario d'un film ou d'une émission de télévision
comprenant le découpage technique et les dialogues. Régine (...) arpente
les bords de la piscine en envoyant des baisers. De son sac béant, elle
sort (...) le script d'un film: « Je vais tourner, chanter avec Laurence
Olivier, Vanessa Redgrave » (Elle, 4 août 1975, p. 13, col. 1).

Je pense qu'un mot peut avoir de multiple définitions.
D'où l'interêt de préciser à laquelle on se réfère.
Si la définition que je propose ne colle pas aux notions que tu associe
au mot "script", indique moi quelle différence tu fait. Si c'est le cas,
pourquoi pinailler?


c'est le découpage de séquences sous
forme de textes.
Donc, éthimologiquement, un script est bien destiner à séquencer des

actions. Donc pour moi, un script doit se contenter de séquencer des
actions, si on le désire, on peut rajouter un peu de contrôle de flux,
voire un peu de structure.

Un programme est différent:
programme n. m. [programmation] Suite d'instructions permettant de
réaliser une ou plusieurs tâche(s), de résoudre un problème, de
manipuler des données. Le programme est l'expression d'un algorithme
dans un langage donné pour une machine donnée.

Ce qui n'empêche pas que lors de l'exécution du script, des données
soient manipulées, ou des algorithmes exécutées. Seulement, le script
(ex:exprimé en bash) se contentera de séquencer des taches (ex: wc,
sort) qui elles manipuleront les données et réaliseront les algorithmes.
Pour résumer:
script bash = script
wc = manipulation de donnée
sort = réalisation d'un algorithme
script bash + wc + sort = programme

au contraire:
le même langage python peut:
séquencer des instructions avec def
manipuler des données avec un dictionnaire
exprimer des algorithme par exemple
max = 0
for i in liste:
if i>max:
max = i

Un script est donc un sous ensemble central de la programmation.

Un langage de script est naturellement interprété
car cette interprétation permet de rendre transparent les tâches effectuées.
Pour le transformer en langage de programmation,
il suffit de rajouter des structures de données, du contrôle de flux et
des moyens d'organiser le code (fonction, classe, modules).
Cette introduction, qui est majeure pour sa nature, se fait de façon
assez souples dans la réalité, c'est pourquoi, des langages Python ou
Perl, sont encore qualifiés de langages de script alors qu'ils on le
statut de langage de programmation générale.


Dès lors que l'on se rappelle cela, associer le mot
langage au mot script rend l'expression incongrue.
pas du tout, car les textes sont bien écrits dans un langage non?


--
Xavier Combelle

Avatar
Xavier Combelle
Je ne vois aucune difference entre un "script" et un "programme" (en gros,
une suite d'instructions),


Moi j'en voir un (cf. mon post précédent de 12h43 )
pour moi, un script, pour rester un script doit limiter
les manipulations de données et la structures du code.

donc je ne vois aucune raison d'appeler un
langage de programmation "langage de script".


Je pense qu'il y a une différence au moins au niveau de comment
ils sont percus.

Il existe des programmes
relativement compliques en Shell Unix, et des programmes tres simples en C.


Oui, mais si je doit recréer le programme sort (algorithme) ou wc
(manipulation de donnée) J'aurait une tendance à le coder en langage de
programmation général comme C. D'autre part, si je veux automatiser des
tâches que j'exécute régulièrement, j'aurai une tendance à utiliser un
script shell.

Par exemple, j'ai dans mon répertroire /home/xcombelle/bin
le programme:
tx
#!/bin/bash
touch $1; chmod +x $1

Concernant les gros problème écrit en shell, j'aurait tendance à
rejoindre Eric S. Raymond:
http://www.faqs.org/docs/artu/ch14s04.html#sh
"Summing up: shell's best side is that it is very natural and quick for
small scripts. Its worst side is that large shellscripts depend on lots
of auxiliary commands that aren't necessarily identically behaved nor
even present on all target machines. Nor is it easy to analyze the
dependencies in a large shellscript."

Ce qui ne m'empêche pas de reconnaître la puissance du shell et d'être
d'accord avec Master Foo
http://www.faqs.org/docs/artu/ten-thousand.html
"There is more Unix-nature in one line of shell script than there is in
ten thousand lines of C"

1 2