|
Bas de page | |
---|---|
Auteur | Sujet : script powershell et raccourci envoyer vers |
Matteu | Bonjour, J'aurai besoin d'aide pour améliorer un peu mon script powershell. L'exécution de ce script se fait par les utilisateur via le clic droit envoyer vers -> convertiff tiff en pdf Le script n'est pas finalisé car si on sélectionne un seul fichier, il me convertis tous les fichiers du dossier courant + des dossiers enfant qu'il va trouver. Voici le script actuel : $a=Get-ChildItem -Recurse -Include *.tiff
Message édité par Matteu le 09-05-2016 à 21:21:58 --------------- Mon Feedback---Mes ventes |
Publicité | Posté le 09-05-2016 à 12:19:05 |
Matteu | Merci beaucoup pour ton retour très constructif. J'avais fais ca moi au mieux : $a=Get-ChildItem -Recurse -Include *.tiff | out-gridview -passthru C'est fonctionnel, mais faut Powershell v3 Faut aussi que je regarde un peu sur le net pour pouvoir lancer le script sans mettre l'execution policy a unrestricted si c'est faisable ou non et apres terminus Aller je m'attaque a ton algo Voila ce que je pensais : foreach ($a in $_) { Mais ca ne marche pas ^^ et mon foreach ($a in $_) je suis pas persuadé que ca fonctionne et c'est de la que vient mon problème principal je parie
Message édité par Matteu le 10-05-2016 à 09:18:59 --------------- Mon Feedback---Mes ventes |
Matteu | Pour l'évolution du script, il fonctionne pour 1 fichier. mais pas pour plusieurs, je vois que $args contient tous les fichiers que je selectionne a la suite les un des autres avec un espace. Donc en gros, c'est pas un tableau comme je le pensais. Et c'est la ou ca se corse bien comme il faut parce que je sèche complet ^^ j'en suis la : foreach ($a in "$args" ) { Donc en fait, il me reste 1 problème à régler et à priori apres ce serait bon. En fait, il me fait une chaine de caractère avec chaque argument l'un à la suite de l'autre Message édité par Matteu le 10-05-2016 à 12:24:21 --------------- Mon Feedback---Mes ventes |
Matteu | Je sais pas si quelqu'un pourrait me dire si je suis sur la bonne voie ou non, et me débloquer pour savoir comment récupérer correctement les argument pour pouvoir les exploiter ensuite !
--------------- Mon Feedback---Mes ventes |
exmachina |
|
Matteu | Pour les 2 remarques donc j'en arrive à ca : foreach ($a in "$args" ) { $b si c'est un dossier est un objet de ce que je comprends alors que $a contient directement le chemin complet. Donc la le script fonctionne toujours comme avant mais en effet, ca évitera que ca cause des problèmes dans le cas ou le fichier s'appellerai monfichier.tiff.salut.tiff Par contre, je comprends mal le rapport entre ce que fais le bonhomme et ce que je souhaite faire. Je vais m'y pencher plus peut etre je verrai mieux ! Lui il splitte en fonction du nom car il passe que des fichiers .ps1 donc ok ^^ ce qui m'embete en fait c'est que $args = c:\ezfgerg c:\ezfgerg\reger c:\ezfgerg\ezf zeef Message édité par Matteu le 11-05-2016 à 09:43:09 --------------- Mon Feedback---Mes ventes |
Matteu | En fait, même sur un fichier j'ai un problème oui.
--------------- Mon Feedback---Mes ventes |
exmachina | essaie en ajoutant un batch avant
|
Matteu | MMM j'ai beau chercher sur google je trouve aucune documentation pour tout ca par contre !
--------------- Mon Feedback---Mes ventes |
Publicité | Posté le 12-05-2016 à 00:21:48 |
Matteu | Et ca ne fonctionne plus si je fais comme ca plus rien ne se passe.
--------------- Mon Feedback---Mes ventes |
Matteu | Bé justement en fait le ' et les () par exemple n'apparaissent meme pas. Actuellement le script est un .bat d'une ligne mais ne peut faire que des fichiers, si jamais c'est faisable en .bat, je vais peut etre changer de technique. Apres consultation apres le principal interessé, en gros, l'objectif c'est uniquement : Donc aps de gestion de cas ou on sélectionne 2 fichiers etc on m'a demandé d'arreté de perdre du temps la dessus. Message édité par Matteu le 12-05-2016 à 19:48:00 --------------- Mon Feedback---Mes ventes |
Matteu | Je pense qu'en powershell on peut pas le faire, il récupère pas correctement le répertoire on dirait... En batch, voila la commande qui fonctionne pour 1 tiff : Je pensais que cette modification suffirait : for %%x in (*.tiff *.tif) do ( EDIT : Voila ou j'en suis : if exist "%~1"( Message édité par Matteu le 13-05-2016 à 13:23:00 --------------- Mon Feedback---Mes ventes |
Matteu | C est bon c est résolu je poste lundi la solution !
--------------- Mon Feedback---Mes ventes |
Matteu | Petit oubli mais voila comment je m'en suis sorti : if "%~x1" == ".tiff" goto fichier
: dossier Message édité par Matteu le 23-05-2016 à 12:30:03 --------------- Mon Feedback---Mes ventes |