Commande SHELL qui s'execute pas

Messages postés
13
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
5 février 2008
-
Messages postés
13
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
5 février 2008
-
Bonjour,

J'ai tout essayer dans mon domaine de compétence, et là j'avoue être à court d'idée.
J'essaye d'executer une commande SHELL dans une page ASPnet. Celle ci fonctionne très bien en local mais pas sur le serveur.

Voici mon code :

Dim WshShell

'chemin d'accès pour utiliser winzip

gWinZipLocation =
"C:\Progra~1\WinZip\WINZIP32.EXE"

'emplacement des fichiers

zLocalDir = Server.MapPath(".") + "\Archive"

'nom du fichier

zFileName = CStr(TextBox3.Text)

'commande shell

WshShell = Server.CreateObject("WScript.Shell")

WshShell.Run("""" & gWinZipLocation & """ -e """ & zLocalDir & "" & zFileName & """ """ & zLocalDir & """", 3)

Avez vous une idée de ce qui pourrait clocher?

Merci,

Flo :D

6 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
30
Je tenterais le Server.MapPath("~") plutôt que le "." qui serait mal interprété par le serveur.
Cependant le Server.MapPath("~") renvoie le répertoire racine du site web.

(Mais je met pas ma main à couper)

Note: as-tu essayé la librairie ICSharpCode.SharpZipLib.dll pour .net qui permet de décompresser les zip.


Billou_13

Bask En Force


--------------------------------------------------------------------

Connaître la réponse est une chose, savoir pourquoi en est une autre

---------------------
Messages postés
13
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
5 février 2008

J'ai tenté le Server.MapPath("~") mais ça ne change rien. Il ne se passe malheureusement toujours rien.
Peut etre aurais je du preciser que sur mon poste, j'ai IIS5 et ça fonctionne et que sur le serveur je dispose de IIS6.
Je ne sais pas si la version peut jouer une différence ou non.

Quand à la librairie ICSharpCode.SharpZipLib.dll, je ne peux pas l'utiliser car en fait il ne s'agit pas de fichier .zip mais .Z.
Quand j'utilise cette librairie il me met une erreur de signature...car le format n'est pas reconnu.

Flo :D
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
30
Désolé pour la fausse piste, je pensais que cela marcherait.

Peut-être peux tu essayer la classe process comme suit :

Process p = new Process();
p.StartInfo.FileName = 
"C:\Progra~1\WinZip\WINZIP32.EXE"
;
//Arguments à voir
p.StartInfo.Arguments = """ -e """ & zLocalDir & "" & zFileName & """ """ & zLocalDir & """"
;
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.Start();

A tester... (en tout cas, cela marche chez moi)

Billou_13

Bask En Force


--------------------------------------------------------------------

Connaître la réponse est une chose, savoir pourquoi en est une autre

---------------------
Messages postés
114
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
17 octobre 2006

crilun
gWinZipLocation =
"C:\Progra~1\WinZip\WINZIP32.EXE"

et tu sur de ca?
par ce que si c'ets le chemin en local pour winzip ca ne l'est pas forcement pour le serveur...
verifie que winzip est bien installé sur le serveur et que c'est bien le bon chemin.
Messages postés
13
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
5 février 2008

Merci bcp pour vos réponses, je teste ça rapidement.
Winzip est bien installé sur le serveur et c'est le bon chemin également.




Flo :D
Messages postés
13
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
5 février 2008

Merci bcp pour vos réponses, je teste ça rapidement.
Winzip est bien installé sur le serveur et c'est le bon chemin également.




Flo :D