Commande CMD sur visual basic express [Résolu/Fermé]

Signaler
-
LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015
-
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

Messages postés
14270
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 février 2020
467
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

LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015

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!
Messages postés
6578
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 février 2020
455
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
LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015

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 !
Messages postés
6578
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 février 2020
455
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.
cs_Le Pivert
Messages postés
6578
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 février 2020
455
Encore un peu de lecture sur les variables:

https://plasserre.developpez.com/cours/vb-net/?page=langage-vb2

Il faut passer par là pour progresser. Faire des copier-coller dépanne sur le moment, mais tu as vite fait d'être bloqué par la suite
LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015
> cs_Le Pivert
Messages postés
6578
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 février 2020

Mais 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 ?
LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015

Ah excuse moi j'ai répondu directement à ton message et j'ai oublié de lire ton site ...
Merci beaucoup !
Messages postés
6578
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 février 2020
455
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
LSoft
Messages postés
6
Date d'inscription
samedi 7 novembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015

Merci beaucoup j'ai réussi exactement ce que je voulais faire grâce à toi !
Bonne journée ;)