ShellExecute

Effectue une opération sur un fichier spécifié

Syntaxe

procedure ShellExecute(command: String; fileName: String; parameters: String; directory: String)
command: action à effectuer
fileName: chemin du fichier/dossier
parameters: paramètres éventuels
directory: répertoire de travail de l'action

Commandes

Les commandes possibles dépendent des fichiers ou des dossiers (elles sont définies dans le registre de Windows).

Si on laisse une chaîne vide, Windows utilise la commande par défaut définie au niveau du système.
Si aucune commande par défaut n'est définie, c'est la commande 'open' qui est utilisée si elle est disponible.
Pour éviter les doutes, il est recommandé de toujours préciser la commande.

Les commandes suivantes sont communément utilisées :

editOuvre le fichier spécifié par le paramètre fileName avec l'éditeur par défaut.
exploreExplore le dossier spécifié par le paramètre fileName avec l'explorateur Windows.
findOuvre la boite de dialogue de recherche au dossier spécifié par le paramètre fileName.
openOuvre le fichier/dossier spécifié par le paramètre fileName.
runasOuvre le fichier/dossier spécifié par le paramètre fileName en tant qu'administrateur.
printImprime le fichier spécifié par le paramètre fileName.

Remarques

Si fileName contient un chemin relatif (par exemple uniquement le nom d'un fichier), la fonction utilise le répertoire de travail indiqué dans le paramètre directory.

Exemples

  • Lance l'impression du fichier Word spécifié (Word imprime sur l'imprimante par défaut) :
 ShellExecute('print', 'C:\temp\word.doc', '', '');
  • Soit le fichier bat D:\CreateDir.bat qui contient le code suivant : mkdir %1.

Il sert à créer le dossier dont le nom est indiqué dans le premier paramètre.
Si on fournit un chemin relatif, le dossier sera créé dans le répertoire de travail.
Le script suivant appelle ce fichier bat pour créer 2 dossiers 'titi' et 'toto' dans le dossier C:\TEMP\ :

ShellExecute('open', 'D:\CreateDir.bat', 'titi', 'C:\TEMP\');
ShellExecute('open', 'D:\CreateDir.bat', 'toto', 'C:\TEMP\');

Rq : Dans le cas d'un fichier bat, on peut transmettre plusieurs paramètres, en les séparant par des espaces.

Classification

SysUtils