OVH Cloud OVH Cloud

probleme verifier si un fichier existe

11 réponses
Avatar
Joseph Oget
Bonjour a tous.

Voila mon probleme:

J'ai un boutton qui me lance une commande et execute un script VBS avec
WSCRIPT.EXE. Cool, ca marche bien.

Seulement, j'ai voulu ajouter l'option d'attraper une erreure, par example
si le fichier a executer n'est pas trouve.

J'ai donc fait ceci: un Menu qui se nomme: JVM et qui lance cette Routine:

Private Sub JVM_Clicked(sender As object, e As System.EventArgs)
Dim StrPathToScript As String = """" & strPath &
"Scripts\vbs_Files\JVM.vbs" & """"
Dim strCmd As String = "C:\WINNT\system32\WScript.exe "
MessageBox.Show( StrPathToScript )
MessageBox.Show( CBool (File.Exists( StrPathToScript ) ) ) '
Toujour NON
If File.Exists( StrPathToScript ) Then
MessageBox.Show( StrPathToScript )
Else
MessageBox.Show( " Le fichier ne peut etre
trouve!" ) ' Affiche ce message bien que le fichier existe!
' Exit Sub
End If
If MessageBox.Show ("This is going to install Sun Java Virtual
Machine (JVM)" & _
ControlChars.CrLf & ControlChars.CrLf
& _
" Please click on Yes to Continue?",
"My Application", _
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) _
= DialogResult.No Then
Exit Sub
End If
Process.Start( strCmd, StrPathToScript ) ' Lance le Script
End Sub

strPath est une Variable qui est retournee par cette function, qui me donne
la location de l'Assembly:

Dim strPath As String = AppPath & "\"
Public Function AppPath() As String
Return
System.IO.Path.GetDirectoryName(Reflection.Assembly.GetEntryAssembly().Location)
End Function

Moi comprends pas, on m'a parle de permissions mais la j'y comprends rien.

merci d'avance.

Joseph

1 réponse

1 2
Avatar
Patrice
Par exemple Msgbox(File.Exists("c:a.txt")) ne marche pas ???!!!!

Sinon essaie par exemple d'ouvrir le fichier en lecture pour voir si cela
marche ou quelle est l'erreur qu'il t'indique...
Tu peux aussi énumérer le contenu du répertoire et voir si un nom correspond
au nom que tu cherches à tester...

Etc...

Bon courage
--
Patrice

"Joseph Oget" a écrit dans le message de
news:ua$
Ou je suis completement con ou alors...

bien sur que le nom est bon bordel de dieu:

>> >> J'ai un boutton qui me lance une commande et execute un script VBS
>> >> avec
>> >> WSCRIPT.EXE. Cool, ca marche bien.

trop difficile a comprendre poulette, trou du cul

"Patrice" wrote in message
news:
> Donc le nom n'est pas bon...
>
> --
> Patrice
>
> "Joseph Oget" a écrit dans le message de
> news:%
>> MsgBox(("Nom en dur")) retourn bienle nom et le chemin corrects et le
>> fichier est ensuite executé.
>>
>> MsgBox(File.Exists("Nom en dur")) est toujours Faux, C ca mon


probleme,
>> tout est bon mais si j'utilise un If fichier exist alors execute C la


ou
> ca
>> marchera pas, bien que le fichier soit la ou il est suppose etre..
>>
>> bizarre.
>>
>> Joseph
>> "Patrice" wrote in message
>> news:%
>> > Quel est le chemin testé ? Teste simplement avec quelques chose du
>> > style
> :
>> >
>> > MsgBox(File.Exists("Nom en dur")) si c'est cela qui pose problème. Vu
> que
>> > l'assembly est là tu peux aussi l'utiliser comme cobaye. Si cela ne


va
>> > pas,
>> > teste un fichier dans un répertoire plus haut par exemple...
>> >
>> > --
>> > Patrice
>> >
>> > "Joseph Oget" a écrit dans le message de
>> > news:
>> >> Bonjour a tous.
>> >>
>> >> Voila mon probleme:
>> >>
>> >> J'ai un boutton qui me lance une commande et execute un script VBS
>> >> avec
>> >> WSCRIPT.EXE. Cool, ca marche bien.
>> >>
>> >> Seulement, j'ai voulu ajouter l'option d'attraper une erreure, par
>> >> example
>> >> si le fichier a executer n'est pas trouve.
>> >>
>> >> J'ai donc fait ceci: un Menu qui se nomme: JVM et qui lance cette
>> >> Routine:
>> >>
>> >> Private Sub JVM_Clicked(sender As object, e As System.EventArgs)
>> >> Dim StrPathToScript As String = """" & strPath &
>> >> "Scriptsvbs_FilesJVM.vbs" & """"
>> >> Dim strCmd As String = "C:WINNTsystem32WScript.exe "
>> >> MessageBox.Show( StrPathToScript )
>> >> MessageBox.Show( CBool (File.Exists( StrPathToScript ) ) )


'
>> >> Toujour NON
>> >> If File.Exists( StrPathToScript ) Then
>> >> MessageBox.Show( StrPathToScript )
>> >> Else
>> >> MessageBox.Show( " Le fichier ne peut etre
>> >> trouve!" ) ' Affiche ce message bien que le fichier existe!
>> >> ' Exit Sub
>> >> End If
>> >> If MessageBox.Show ("This is going to install Sun Java
>> >> Virtual
>> >> Machine (JVM)" & _
>> >> ControlChars.CrLf &
>> > ControlChars.CrLf
>> >> & _
>> >> " Please click on Yes to
>> > Continue?",
>> >> "My Application", _
>> >> MessageBoxButtons.YesNo,
>> >> MessageBoxIcon.Question) _
>> >> = DialogResult.No Then
>> >> Exit Sub
>> >> End If
>> >> Process.Start( strCmd, StrPathToScript ) ' Lance le
> Script
>> >> End Sub
>> >>
>> >> strPath est une Variable qui est retournee par cette function, qui


me
>> > donne
>> >> la location de l'Assembly:
>> >>
>> >> Dim strPath As String = AppPath & ""
>> >> Public Function AppPath() As String
>> >> Return
>> >>
>> >
>


System.IO.Path.GetDirectoryName(Reflection.Assembly.GetEntryAssembly().Locat
>> > ion)
>> >> End Function
>> >>
>> >> Moi comprends pas, on m'a parle de permissions mais la j'y comprends
>> >> rien.
>> >>
>> >> merci d'avance.
>> >>
>> >> Joseph
>> >>
>> >>
>> >
>> >
>>
>>
>
>




1 2