OVH Cloud OVH Cloud

comment recupérer l'etat d'une fonction

3 réponses
Avatar
truc
Bonjour

Je voudrais avec mon script de mappage de lecteur savoir si la fonction
s'est bien déroulé ou non.
Dans le cas où le mappage se fait bien, il me dit ok et le partage est bien
présent.
Dans le cas où le mappage ne se fait pas car le chemin n'existe pas, il me
dit ok mais le partage n'existe pas.
Quelqu'un aurait une idée ?
merci

mon script :
On Error Resume next
Set net = CreateObject("Wscript.Network")

lst=array("chemin1","chemin2")

Function dm(chem)
net.MapNetworkDrive "N:", chem
End Function

For Each val In lst
net.removeNetworkDrive "N:"

dm(val)

If dm(val) = True Then
wscript.echo "ok "&val
Else
wscript.echo "nok "&val
End If
next

3 réponses

Avatar
hch
je pense qu'une bonne capture d'erreur de ce style permettra d'afficher le
bon message au moment voulou comme vous le souhaitez

on error resume next
Set net = CreateObject("Wscript.Network")
net.MapNetworkDrive "N:", "monserveurw"
if err.number = -2147024843 then
Wscript.echo "partage introuvable verifiez svp"
else

if (err.number <>0 and err.number <> -2147024843) then
wscript.echo "erreur " & err.number
end if
wscript.echo "ok"
end if

hch


Bonjour

Je voudrais avec mon script de mappage de lecteur savoir si la fonction
s'est bien déroulé ou non.
Dans le cas où le mappage se fait bien, il me dit ok et le partage est bien
présent.
Dans le cas où le mappage ne se fait pas car le chemin n'existe pas, il me
dit ok mais le partage n'existe pas.
Quelqu'un aurait une idée ?
merci

mon script :
On Error Resume next
Set net = CreateObject("Wscript.Network")

lst=array("chemin1","chemin2")

Function dm(chem)
net.MapNetworkDrive "N:", chem
End Function

For Each val In lst
net.removeNetworkDrive "N:"

dm(val)

If dm(val) = True Then
wscript.echo "ok "&val
Else
wscript.echo "nok "&val
End If
next


Avatar
Fred
Dans le message:,
truc écrit:
Bonjour

Je voudrais avec mon script de mappage de lecteur savoir si la
fonction s'est bien déroulé ou non.
Dans le cas où le mappage se fait bien, il me dit ok et le partage
est bien présent.
Dans le cas où le mappage ne se fait pas car le chemin n'existe pas,
il me dit ok mais le partage n'existe pas.
Quelqu'un aurait une idée ?


Oui, plusieurs erreurs de programmation (voir dans le code)

mon script :
On Error Resume next
Set net = CreateObject("Wscript.Network")

lst=array("chemin1","chemin2")



'La fonction ne renvoie rien.
'Lignes manquantes ajoutées.
Function dm(chem)
net.MapNetworkDrive "N:", chem


If Err.number <> 0 Then
dm = False
Else
dm = True
End If

End Function

For Each val In lst
net.removeNetworkDrive "N:"



'La fonction est appelée une première fois,
'sans récupération de son résultat.
'À supprimer.
8<----------------------
dm(val)
8<----------------------




'La fonction est appelée dans le test
'Cela suffit, et sa valeur de retour est bien testée.

If dm(val) = True Then
wscript.echo "ok "&val
Else
wscript.echo "nok "&val
End If
next


Cela fonctionne-t-il mieux ainsi ?


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Do Re Mi chel La Si Do
Bonjour !

Ci-dessous, un petit exemple (toujours plus parlant que du blabla) ;o)

@-salutations
--
Michel Claveau




@echo off

net use y: Serverrdata
if /I %ERRORLEVEL% NEQ 0 goto :ERR
echo ça c'est bien passé, finalement.
goto :EOF

:ERR
echo Erreur ! Erreur ! Erreur !
goto :EOF