Commande CMD sur visual basic express

Résolu
Bonjour ,
voilà j'aimerais utiliser la fonction "OpenFileDialog" + Shell.
Je m'explique ; je veux que l'utilisateur désigne un fichier/dossier (OpenFileDialog) et que le logiciel fasse une commande CMD sur ce fichier désigné (Dans le cas présent , la commande ATTRIB.) Donc à la fin de mon code OpenFileDialog j'ai mis :
  Shell("ATTRIB" + OpenFileDialog2.FileName + "+s +h")

mais après l'avoir testé , un message d'erreur m'affiche "L'exeption FileNotFoundException n'a pas été gérée , fichier introuvable". Pouvez vous m'aider s'il vous plaît ? Merci d'avance !

PS: Je suis débutant à la programmation soyez indulgents ;)

4 réponses

  1. Bonsoir tu parles de Visual Basic Express, j'en déduit donc que tu travailles en VB.Net

    Shell n'existe pas en VB.Net, il faut utiliser Process.Start.

    Si j'en crois cette page ta ligne de commande n'est pas dans le bon ordre.

    Cependant, il existe en natif pleins d'outils, dont un qui manipule des fichiers, et entre autre leurs attributs

    File.SetAttributes(OpenFileDialog1.FileName, FileAttributes.Hidden Or FileAttributes.System)


    PS j'ai édité ton message pour corriger ta coloration syntaxique, explications ici

    1. Merci beaucoup ton commentaire m'a vraiment bien aidé, mais je fais maintenant face à un autre problème de débutant ^^'
      J'ai donc créé un premier bouton afin de cacher un fichier désigné, ce qui a marché, et j'ai fait un second bouton pour "Décacher" ce fichier désigné. Mais le problème, c'est que je sais pas comment sauvegarder le chemin du fichier du premier bouton !
      Peux-tu m'aider ? Merci!
  2. Contributeur
    Bonjour,

    Tu mets ton chemin dans une variable et tu te sers de MySettings pour sauvegarder ta variable:

    https://msdn.microsoft.com/fr-fr/library/ms379611(v=vs.80).aspx
    1. Bonjour,
      Merci beaucoup mais le problème c'est que ce chemin peut changer ! Il faudrait faire une variable qui sauvegarde automatiquement(ou par un bouton) le chemin choisi !
      Merci !
  3. Contributeur
    C'est le but de la variable (comme son nom l'indique).
    Tu n'as pas lu le site. Si tu l'avais lu, tu saurais que ta variable est mémorisée dans un fichier à la fermeture de l'application. Et est restitué a son ouverture.
    Tu peux aussi avoir plusieurs variables si tu as plusieurs chemins à sauvegarder.
    1. Ah excuse moi j'ai répondu directement à ton message et j'ai oublié de lire ton site ...
      Merci beaucoup !
    2. @cs_Le PivertMais je t'avoue ne pas comprendre ; faire en sorte que le chemin soit sauvegarder à la prochaine ouverture je l'avais déjà appris avant, mais je voudrais que l'utilisateur appuie sur un bouton qui active le code que j'ai mis sur le topic, mais il faut qu'il sauvegarde le .FileName ! Est-ce que je peut faire une variable avec .FileName comme donnée ?
  4. Contributeur
    Voilà un exemple avec un fichier image:

     Private Sub cmdopen_Click(sender As System.Object, e As System.EventArgs) Handles cmdopen.Click
             Dim cheminsource As String
            Dim open_file As New OpenFileDialog
            With open_file
                .Filter = "Fichiers image| *.bmp;*.jpg;*.gif;*.wmf;*.tif;*.png"
                Try
                    If .ShowDialog() = DialogResult.OK Then
                        cheminsource = .FileName
                        Picsource.Image = Image.FromFile(cheminsource)
                    Else
                        MessageBox.Show("Opération annulée par l'utilisateur!", "Ouverture fichier", MessageBoxButtons.OK, MessageBoxIcon.Information)
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message, vbCritical, "Fichier image")
                End Try
                .Dispose()
            End With
        End Sub
    


    Il te suffit de suivre les indications du site pour mettre ta variable cheminsource dans My.Settings
    1. Merci beaucoup j'ai réussi exactement ce que je voulais faire grâce à toi !
      Bonne journée ;)