Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008
-
12 févr. 2007 à 13:22
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008
-
13 févr. 2007 à 21:39
Bonjour à tous
Petite problème: J'ai besoin de copier et de renommer un fichier. Pour cela, j'utilise ça:
My.Computer.FileSystem.CopyFile( _
"C:\Documents and Settings\???\Bureau\lisez moi.txt", _
"C:\Documents and Settings\???\Bureau\h\lisez moi 2.txt", _
FileIO.UIOption.AllDialogs, _
FileIO.UICancelOption.DoNothing)
Le seul probleme est que le fichier à copier et à renommer est sur un CD! Pour ouvrir un fichier sur un CD sans connaitre la lettre du lecteur, j'utilise:
Imports System.IO -------------> A mettre au sommet avant 'Public Class Form1'
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim chemin As String = "setup.exe(Chemin Fichier)"
Dim process As New Process
For Each disque As String In Directory.GetLogicalDrives()
Dim D As New DriveInfo(disque)
If D.DriveType = DriveType.CDRom Then
Try
If My.Computer.FileSystem.FileExists(disque + chemin) = True Then
process.StartInfo.FileName = disque + chemin
process.Start()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Next
End Sub
End Class
J'ai donc essayé de compiler les deux codes et ça ne marche absolument pas !
Pouvez vous m'aider ???
Merci d'avance.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 12 févr. 2007 à 14:34
Salut,
Imports System.IO ' -------------> A mettre au sommet avant 'Public Class Form1'
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim chemin As String = "lisez-moi.txt" ' Fichier devant être copié et renommé
For Each disque As String In Directory.GetLogicalDrives() ' Parcours tous les disques logiques présents sur la machine
Dim D As New DriveInfo(disque) ' Instancie ce disque pour obtenir des infos
If D.DriveType = DriveType.CDRom Then ' Vrai si le disque est un CD-Rom
Try ' Intercepte une erreur éventuelle
If My.Computer.FileSystem.FileExists(disque + chemin) = True Then ' Vrai si le fichier existe
Dim sNom As String = disque+chemin
Dim Fi As FileInfo
Fi=New FileInfo( sNom) ' Instancie le fichier trouvé
My.Computer.FileSystem.CopyFile(disque+chemin,"C:"+Fi.Name) ' Copie le fichier du CD vers ' C:\lisez-moi.txt '
My.Computer.FileSystem.RenameFile("C:"+Fi.Name,"lisez-moi(2).txt") ' Renomme le fichier ' C:\lisez-moi.txt ' en ' C:\lisez-moi(2).txt '
End If
Catch ex As Exception ' Permet d'intercepter une erreur et de la traiter
MsgBox(ex.Message) ' Affichage d'un message à l'utilisateur du type d'erreur
End Try
End If
Next
End Sub
End Class
N'oubliez pas d'accepter la réponse si elle a reglé votre problème
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 12 févr. 2007 à 13:58
Salut
En fait en remplaçant le second code dans le premier, VB me signale plein d'erreures.
Comment je peut faire pour que la cible du premier chemin demandé soit le fichier sur le CD ???
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 févr. 2007 à 14:31
Je suis bien d'accord, mais tout ça ne 'en dit pas plus sur ton problème
Sur le principe du remplacement de code, ça devrait donner à quelques détail près un code comme ceci :
Imports System.IO -------------> A mettre au sommet avant 'Public Class Form1'
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Handles Button1.Click
Dim chemin As String = "setup.exe(Chemin Fichier)"
Dim process As New Process
For Each disque As String In Directory.GetLogicalDrives()
Dim D As New DriveInfo(disque)
If D.DriveType = DriveType.CDRom Then
Try
My.Computer.FileSystem.CopyFile( disque & chemin, _
"C:\Documents and Settings\???\Bureau\h\lisez moi 2.txt", _
FileIO.UIOption.AllDialogs, _
FileIO.UICancelOption.DoNothing)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Next
End Sub
End Class
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 12 févr. 2007 à 21:53
Je m 'attendais quand même à ce que l'on s'assure de ce qu'il s'agit bien d'un CD directement modifiable en écriture (il est en effet dit "renommer" dans le 1er message), ce qui n'est pas le cas de tous les CD ni, pour ceux réinscriptibles, s"ils n'ont pas été "préparés" à cette fin (et donc traitables comme n'importe quel autre volume).
Marneus73
Messages postés344Date d'inscriptionmercredi 24 janvier 2007StatutMembreDernière intervention27 octobre 2008 13 févr. 2007 à 21:32
Bon je ne crois pas que vous avez bien compris mon probleme:
Mon but est de copier des fichiers contenus sur le CD dans un repertoire sur le disque dur, puis de les renomer.
Pour copier des fichiers d'un repertoire du disque dur vers un autre repertoire du disque dur j'utilise la fonction:
My.Computer.FileSystem.CopyFile( _
"C:\Documents and Settings\???\Bureau\lisez moi.txt", _
"C:\Documents and Settings\???\Bureau\h\lisez moi 2.txt", _
FileIO.UIOption.AllDialogs, _
FileIO.UICancelOption.DoNothing)
Et pour ouvrir un fichier contenu sur un CD j'utilise:
Imports System.IO -------------> A mettre au sommet avant 'Public Class Form1'
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs)
Handles Button1.Click
Dim chemin As String = "setup.exe(Chemin Fichier)"
Dim process As New Process
For Each disque As String In Directory.GetLogicalDrives()
Dim D As New DriveInfo(disque)
If D.DriveType = DriveType.CDRom Then
Try
If My.Computer.FileSystem.FileExists(disque + chemin) = True Then
process.StartInfo.FileName = disque + chemin
process.Start()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Next
End Sub
End Class
Mon probleme est pour remplacer le premier chemin demandé dans la premiere fonction("C:\Documents and Settings\???\Bureau\lisez moi.txt"), car les lettres des lecteurs CD varient en fonction des PC.
Voila je pense avoir été clair.
Excusez moi de m'etre mal exprimé la premiere fois.