Améliorer la vitesse de transfert de fichiers (filecopy)
2 réponses
RENAUD Eric
Bonjour,
J'ai un programme de transfert standard avec fichier Source et Destination
puis FileCopy.
Mes fichiers étant volumineux cela prends énormément de temps.
Par contre je pense qu'il y a certainement une autre méthode car depuis
notre plate-forme SAP sous Unix, il y un programme similaire au moins mais
le temps de transfert est divisé par 6.
Pourquoi ou grace à quoi...
Commande Unix, API ou autres ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LE TROLL
Bonjour,
Tu peux essayer ça, mais ce n'est pas du VB, copié in extenso:
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _ ByVal lpExistingFileName As String, _ ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long
' lpExistingFileName : Chaîne contenant le fichier à copier. ' lpNewFileName : Chaîne avec le nom et le chemin de la destination de la copie. ' bFailIfExists : Indique la marche à suivre si la destination contient déjà un fichier du même nom.
' S'il est à 'Vrai' et que le fichier est déjà présent la fonction renvoie une erreur, s'il est à 'Faux' et que le fichier est
' déjà ' présent, celui-ci est remplacé et aucune erreur n'est retournée. ' Dans tous les cas, renvoie 'Vrai' si la fonction a réussi, sinon 'Faux'.
' EXEMPLE
Public Function CopyFile(ByVal SourceFileName As String, _ ByVal TargetFileName As String, _ ByVal FailIfTargetExists As Boolean) As Long
Dim strSourceTmp, strTargetTmp As String Dim lgFailIfExists As Long ' strSourceTmp = SourceFileName & Space$(250 - Len(SourceFileName)) strTargetTmp = TargetFileName & Space$(250 - Len(TargetFileName)) lgFailIfExists = CLng(FailIfTargetExists) On Error Resume Next Call APICopyFile(strSourceTmp, strTargetTmp, lgFailIfExists) On Error GoTo 0 If Err.Number <> 0 Then MsgBox Err.Description, vbCritical CopyFile = Err.Number End Function
-- Merci beaucoup, au revoir et à bientôt :o) ------ Site de MES LOGICIELS http://irolog.free.fr Site éditeur MES ROMANS édités Le serpent http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Le Gaulois http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm mon adresse EMail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news: %
Bonjour, J'ai un programme de transfert standard avec fichier Source et Destination puis FileCopy. Mes fichiers étant volumineux cela prends énormément de temps. Par contre je pense qu'il y a certainement une autre méthode car depuis notre plate-forme SAP sous Unix, il y un programme similaire au moins mais le temps de transfert est divisé par 6. Pourquoi ou grace à quoi... Commande Unix, API ou autres ...
D'avance merci
Bonjour,
Tu peux essayer ça, mais ce n'est pas du VB, copié in extenso:
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long
' lpExistingFileName : Chaîne contenant le fichier à copier.
' lpNewFileName : Chaîne avec le nom et le chemin de la destination de la
copie.
' bFailIfExists : Indique la marche à suivre si la destination contient déjà
un fichier du même nom.
' S'il est à 'Vrai' et que le fichier est déjà présent la fonction renvoie
une erreur, s'il est à 'Faux' et que le fichier est
' déjà ' présent, celui-ci est remplacé et aucune erreur n'est retournée.
' Dans tous les cas, renvoie 'Vrai' si la fonction a réussi, sinon 'Faux'.
' EXEMPLE
Public Function CopyFile(ByVal SourceFileName As String, _
ByVal TargetFileName As String, _
ByVal FailIfTargetExists As Boolean) As Long
Dim strSourceTmp, strTargetTmp As String
Dim lgFailIfExists As Long
'
strSourceTmp = SourceFileName & Space$(250 - Len(SourceFileName))
strTargetTmp = TargetFileName & Space$(250 - Len(TargetFileName))
lgFailIfExists = CLng(FailIfTargetExists)
On Error Resume Next
Call APICopyFile(strSourceTmp, strTargetTmp, lgFailIfExists)
On Error GoTo 0
If Err.Number <> 0 Then MsgBox Err.Description, vbCritical
CopyFile = Err.Number
End Function
--
Merci beaucoup, au revoir et à bientôt :o)
------
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur MES ROMANS édités
Le serpent
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Le Gaulois
http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
%23fFw33ICHHA.4024@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai un programme de transfert standard avec fichier Source et Destination
puis FileCopy.
Mes fichiers étant volumineux cela prends énormément de temps.
Par contre je pense qu'il y a certainement une autre méthode car depuis
notre plate-forme SAP sous Unix, il y un programme similaire au moins mais
le temps de transfert est divisé par 6.
Pourquoi ou grace à quoi...
Commande Unix, API ou autres ...
Tu peux essayer ça, mais ce n'est pas du VB, copié in extenso:
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _ ByVal lpExistingFileName As String, _ ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long
' lpExistingFileName : Chaîne contenant le fichier à copier. ' lpNewFileName : Chaîne avec le nom et le chemin de la destination de la copie. ' bFailIfExists : Indique la marche à suivre si la destination contient déjà un fichier du même nom.
' S'il est à 'Vrai' et que le fichier est déjà présent la fonction renvoie une erreur, s'il est à 'Faux' et que le fichier est
' déjà ' présent, celui-ci est remplacé et aucune erreur n'est retournée. ' Dans tous les cas, renvoie 'Vrai' si la fonction a réussi, sinon 'Faux'.
' EXEMPLE
Public Function CopyFile(ByVal SourceFileName As String, _ ByVal TargetFileName As String, _ ByVal FailIfTargetExists As Boolean) As Long
Dim strSourceTmp, strTargetTmp As String Dim lgFailIfExists As Long ' strSourceTmp = SourceFileName & Space$(250 - Len(SourceFileName)) strTargetTmp = TargetFileName & Space$(250 - Len(TargetFileName)) lgFailIfExists = CLng(FailIfTargetExists) On Error Resume Next Call APICopyFile(strSourceTmp, strTargetTmp, lgFailIfExists) On Error GoTo 0 If Err.Number <> 0 Then MsgBox Err.Description, vbCritical CopyFile = Err.Number End Function
-- Merci beaucoup, au revoir et à bientôt :o) ------ Site de MES LOGICIELS http://irolog.free.fr Site éditeur MES ROMANS édités Le serpent http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Le Gaulois http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm mon adresse EMail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news: %
Bonjour, J'ai un programme de transfert standard avec fichier Source et Destination puis FileCopy. Mes fichiers étant volumineux cela prends énormément de temps. Par contre je pense qu'il y a certainement une autre méthode car depuis notre plate-forme SAP sous Unix, il y un programme similaire au moins mais le temps de transfert est divisé par 6. Pourquoi ou grace à quoi... Commande Unix, API ou autres ...
D'avance merci
LE TROLL
A, je viens de tester, 1 Go = 2 minutes 30... Ça paraît normal sur XP, mais si ce sont des datas, ben, en morcelant... Peut être aussi en compressant...
-- Site de MES LOGICIELS http://irolog.free.fr Site éditeur MES ROMANS édités Le serpent http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Le Gaulois http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm mon adresse EMail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------ "RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news: %
Bonjour, J'ai un programme de transfert standard avec fichier Source et Destination puis FileCopy. Mes fichiers étant volumineux cela prends énormément de temps. Par contre je pense qu'il y a certainement une autre méthode car depuis notre plate-forme SAP sous Unix, il y un programme similaire au moins mais le temps de transfert est divisé par 6. Pourquoi ou grace à quoi... Commande Unix, API ou autres ...
D'avance merci
A, je viens de tester, 1 Go = 2 minutes 30... Ça paraît normal sur XP, mais
si ce sont des datas, ben, en morcelant...
Peut être aussi en compressant...
--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur MES ROMANS édités
Le serpent
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Le Gaulois
http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:
%23fFw33ICHHA.4024@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai un programme de transfert standard avec fichier Source et Destination
puis FileCopy.
Mes fichiers étant volumineux cela prends énormément de temps.
Par contre je pense qu'il y a certainement une autre méthode car depuis
notre plate-forme SAP sous Unix, il y un programme similaire au moins mais
le temps de transfert est divisé par 6.
Pourquoi ou grace à quoi...
Commande Unix, API ou autres ...
A, je viens de tester, 1 Go = 2 minutes 30... Ça paraît normal sur XP, mais si ce sont des datas, ben, en morcelant... Peut être aussi en compressant...
-- Site de MES LOGICIELS http://irolog.free.fr Site éditeur MES ROMANS édités Le serpent http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm Le Gaulois http://manuscritdepot.com/a.joseph-attila-pusztay.2.htm mon adresse EMail http://irolog.free.fr/ecrire/index.htm ------------------------------------------------------------------------------------ "RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news: %
Bonjour, J'ai un programme de transfert standard avec fichier Source et Destination puis FileCopy. Mes fichiers étant volumineux cela prends énormément de temps. Par contre je pense qu'il y a certainement une autre méthode car depuis notre plate-forme SAP sous Unix, il y un programme similaire au moins mais le temps de transfert est divisé par 6. Pourquoi ou grace à quoi... Commande Unix, API ou autres ...