FAQ PowerKit Batch
- 1 Comment se présente le PowerKit ?
- 2 Quel est le principe de fonctionnement du PowerKit ?
- 3 Comment utiliser le PowerKit ?
- 4 Start /w est il absolument nécessaire ?
- 5 Comment connaître le chemin du fichier de retour lorsque le PowerKit est installé chez d'autres personnes ?
- 6 Pourquoi ne puis-je pas envoyer de paramètres vides ?
- 7 Puis-je savoir si la commande que j'ai demandé à exécuter a été exécutée correctement ?
- 8 Puis-je envoyer des e-mails avec des Batchs, grâce au PowerKit ?
Comment se présente le PowerKit ?
Le PowerKit se présente comme un seul fichier exécutable à copier dans le répertoire de Windows. Cette phase est assurée par un installateur, qui installe également des Batchs d'exemples ainsi que la documentation. Le PowerKit est compatible avec toutes les versions 32 bits de Windows. Une fois installé, il vous suffit d'appeler les fonctions proposées dans le toolkit dans vos Batchs.
Quel est le principe de fonctionnement du PowerKit ?
Le PowerKit est appelé depuis vos Batchs, effectue la commande reçue, puis quitte. Certaines fonctions nécessitent des résultats. Dans ce cas là, il crée un fichier temporaire (Par défaut "C:\PowerKit.bat") et définis avec des variables Batch (SET ...=...) les résultats de la commande effectuée. Il vous fait donc après avoir appelé le PowerKit dans vos Batchs charger ce fichier temporaire (CALL ...) créé afin de récupérer les variables définies. Vous pouvez changer l'adresse du fichier temporaire auto généré en tapant "PowerKit" dans "Démarrer", "Exécuter", et en modifiant le paramètre "Adresse du fichier de retour".
Comment utiliser le PowerKit ?
Une fois installé, vous pouvez créer des Batchs qui appellent les fonctions proposées. Pour cela, il faut dans vos Batchs entrer une ligne de commande similaire à celle-ci :
start /w PowerKit [Commande] [Paramètres]
"Start /w" permet de lancer le PowerKit, et d'attendre jusqu'à qu'il ait terminé,
"PowerKit" correspond au nom du programme installé. Normalement copié dans le répertoire de Windows, qui est lui-même dans le
[Commande] représente une des commandes supportées par le PowerKit. Référez vous à sa documentation pour avoir un aperçu des commandes exportées par le PowerKit.
[Paramètres] représente une liste de paramètres, séparées par des espaces et encadrés par des guillemets. Pour savoir quels paramètres envoyer à quelles commandes, référez vos à la documentation du PowerKit.
Start /w est il absolument nécessaire ?
Généralement oui, car il faut attendre que le PowerKit ait fini d'exécuter sa commande avant de continuer. Imaginez que vous utilisez des variables définies par le résultat d'une commande PowerKit. Si vous n'attendez pas que le PowerKit ait fini de traiter votre commande, DOS appellera un fichier de résultat VIDE puisque pas encore généré par le PowerKit. Toutes les variables liées à ce fichiers seront donc inutilisable, et source d'erreurs dans vos Batchs. Cependant, vous pouvez lancer les commandes PowerKit ne générant aucun résultat avec "Start" (sans le "/w"), mais l'exécution asynchrone de ces commandes peut poser dans certains cas des problèmes. En outre, "Start /w" ne doit pas être utilisé dans certains cas, comme lorsque le PowerKit crée des fenêtres d'attente (WaitDlg) ou de progression (ProgressDlg), au risque de bloquer l'exécution du programme alors que ces dialogues ont été conçus pour rester au premier plan de manière "parallèle" pendant que votre code continue de s'exécuter. Utilisez alors simplement "Start". Si vous omettez la commande "Start" devant le "PowerKit", vous risquez d'avoir des surprises, puisque le mode d'exécution d'applications change selon la version de Windows utilisé : sous Windows XP, Windows attends toujours la fermeture du programme avant de continuer, alors sous Windows 98 il lance le programme et continue sans attendre son achèvement.
Comment connaître le chemin du fichier de retour lorsque le PowerKit est installé chez d'autres personnes ?
Lorsque vous ne connaissez pas le chemin du fichier de retour et que vous souhaitez exploiter ses résultats vous avez deux manières :
Sous Windows 95, 98, Me : vous supposez que celle ci est toujours sous C:\PowerKit.bat, ou vous demandez à la personne l'adresse qu'elle à choisie, si elle l'a modifiée,
Sous Windows NT : vous utilisez la variable d'environnement "
NB : lorsque vous modifiez l'adresse du fichier de retour du PowerKit, la variable "
Pourquoi ne puis-je pas envoyer de paramètres vides ?
Une ligne de commande suivante est source d'erreurs :
start /w PowerKit CreateInputDlg "Votre nom" "" "Marc"
En voulant négliger le paramètre du milieu, vous avez envoyé un paramètre vide ("") au PowerKit. Par conséquent MS-DOS l'a supprimé et a décalé les paramètres suivants. Ainsi, le troisième paramètre a été mis à la place du second, et le troisième n'existe plus, ce qui peut être une grave source d'erreurs. Par conséquent, une convention a été mise en place : la chaîne "NULL" sera automatiquement remplacée par une chaine vide par le PowerKit, mais ne décale pas les paramètres. Par exemple, la bonne syntaxe à utiliser dans le cas ci-dessus est :
start /w PowerKit CreateInputDlg "Votre nom" "NULL" "Marc"
Cela implique une règle très importante : tous les paramètres sont OBLIGATOIRES. Vous ne pouvez en négliger. Si la commande exige 3 paramètres, vous DEVEZ lui en envoyer 3. Sinon, celle-ci ne pourra être exécutée, et générera une erreur.
Puis-je savoir si la commande que j'ai demandé à exécuter a été exécutée correctement ?
Si une commande génère une erreur, lié à des paramètres incompatibles ou à un problème interne, la variable ERROR est miseà 1 dans le fichier de retour, qui contient alors:
SET ERROR=1
... et que vous pouvez détecter dans vos Batchs (if "
Puis-je envoyer des e-mails avec des Batchs, grâce au PowerKit ?
Pas avec le PowerKit. Mais nous distribuons une autre application, QuickMail, qui peut le faire. Utilisez donc QuickMail pour envoyer vos e-mails en ligne de commande.
![[top]](/images/gotop.png)