Page 1 sur 1

utilisation de la fonction exec et ligne de commande

Posté : 01 déc. 2008, 16:41
par Ligne de commande
Bonjour à tous ,
dans le cadre d'un projet qui utilise des lignes de commande dos, il m'arrive d'etre confronté à des chemins absolu presentant des espaces.

Or dos n'aime pas les espaces et ma commande exec("c:\Fichier Avec Espace\Fichier.wbs");ne marche pas.

En consequence , il me faut créer une fonction qui me permette d'obtenir ceci :

Code : Tout sélectionner

$s='C:\Chelmin Avec Espace\Titit et toto\fichier.doc';
devienne:

Code : Tout sélectionner

$s='"C:"\"Chelmin Avec Espace"\"Titit et toto"\"fichier.doc";
c'est pourquoi j'ai pensé à ceci qui ne fonctionne pas :

$sCheminRectifier='';
$j=explode("\\",$s);

$iJ=count($j);
for ($iI=0;$iI==$iJ;$i++){
$sCheminRectifier.='"$s[$iI]"';
}

Ou est mon erreur, d'autre part quekl est la fonction la plus appropié pour rechercher des espaces et les remplacé.

merci à tous
[/code]

Posté : 02 déc. 2008, 11:49
par caroube
Ce que tu peux également faire, c'est utiliser les noms courts des répertoires et des fichiers.

Tu peux les obtenir avec la syntaxe dir /X sous DOS
En nom court c:\users\Mes Projets devient c:\users\mespro~1 sans espace

Posté : 03 déc. 2008, 15:49
par Ligne de commande
merci de ta réponse mais le code employé doit etre valable sur plusieurs postes et je ne connais pas à l'avance les chemins.

merci quand meme.