Bonsoir, il y a quelques jours j'avais publier croyant avoir un problème de droit d'admin sur une de mes applications, mais, ce problème résolu, je me rend compte qu'autre chose viens m’embêter :
Mon programme utilise l'invite de commande UnRar.exe pour extraire le contenu d'un rar ...
Il est censé extraire tous les fichiers du .rar, seulement, il se contente du premier dossier, et d'aucun de ses fichiers. (lors de mes tests, j'avais seulement mis une image)
Or, je ne connais pas l'argument de la ligne de commande qui me permet d'unrar TOUT le contenu.
Voici les arguments que j'ai mis :
.Arguments = " x -ibck -inul -or -y " & " """ & FileName & """ """ & ExtractDir & """"
Et voila ma fonction UnRar VB.Net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Private Function UnRar(ByVal FileName As String, ByVal ExtractDir As String) As Boolean
Dim Success As Boolean = False
Dim CodeDeSorti As Integer
Try
Dim proc As New Process()
With proc
With .StartInfo
.UseShellExecute = False
#If DEBUG Then
.FileName = "UnRar.exe"
#Else
.FileName = My.Application.Info.DirectoryPath & "\UnRaR.exe"
#End If
.Arguments = " x -ibck -inul -or -y " & " """ & FileName & """ """ & ExtractDir & """"
'x Extraire des fichiers d'une archive, en tenant compte de leurs chemins complets
'-inul Désactive les messages d'erreur
'-or Renommer les fichiers automatiquement
'-y Considère toutes les réponses aux questions comme "Oui"
'-p[mdp] Utilise un mot de passe
.WorkingDirectory = ExtractDir
.WindowStyle = ProcessWindowStyle.Hidden
.CreateNoWindow = True
End With
.Start()
.WaitForExit()
CodeDeSorti = .ExitCode
.Close()
End With
If CodeDeSorti < 2 Then '0 Opération réussie. 1 Avertissement. Une erreur non fatale s'est produite.
Success = True
End If
Catch ex As Exception
End Try
Return Success
End Function |
Je n'ai jamais utilisé de command line réellement, c'est pourquoi je vous sollicite, j'espère que vous arriverez à m'aider.
Partager