copy overwrite fonctionne pas.. pourquoi? [VBS] (résolu) - VB/VBA/VBS - Programmation
Marsh Posté le 10-11-2005 à 09:40:00
sur le site de http://www.devguru.com
je respecte pourtant bien la syntaxe de copy
Copy
Syntax: object.Copy destination[, overwrite]
This method copies the selected file to the specified destination.
Marsh Posté le 10-11-2005 à 10:14:19
Pour qu'il ecrase le fichier précédent il faut écrire
objFile.Copy StrCopy, True
Marsh Posté le 10-11-2005 à 10:28:28
désolé.. déjà essayé.. mais cela ne fonctionne pas!
et pour infos, les fichiers ne sont pas en lecture seul.
je bloque!
Marsh Posté le 10-11-2005 à 10:31:03
Pour overwrite, true est optionnelle. donc pas besoin de spécifier TRUE.
Suis en train de voir pour faire une procédure suivant la taille du fichier présent et le nouveau...
P'tet quand forcant... çà passera..
Mais si d'autres idées vous viennent à l'esprit...
chuis preneur!
Marsh Posté le 10-11-2005 à 11:05:10
Est-ce que ton fichier de log que tu dois écraser ne serait pas ouvert par une autre appli ? si c'est le cas, c'est normal que ça soit impossible de l'écraser.
Marsh Posté le 10-11-2005 à 11:23:00
t'as pas d'erreur quand tu copies ton fichier ?
Marsh Posté le 10-11-2005 à 11:41:18
nan..il me dis rien... j'ai rajoute un Wscript.Echo au niveau de la boucle pour voir s'il passe bien dedans et c'est le cas! mais il n'écrase pas le fichier...
je continue toujours .. . . .
Marsh Posté le 10-11-2005 à 11:46:27
t'es sûr que tu copies le fichier au bon endroit ? parce que s'il n'y a pas d'erreur et que le fichier n'est pas écrasé c'est qu'il l'a copié ailleur
Marsh Posté le 10-11-2005 à 11:52:48
et bé alors il est copié dans le vent! parce que je le vois pas!
je te copie colle tout mon code et tu verras ...
la faut que je rebootes..
Marsh Posté le 10-11-2005 à 12:01:58
Code :
|
J'ai oublié de préciser un truc.. c'est mon premier script en VBS...
Marsh Posté le 10-11-2005 à 13:10:24
A la lecture: Lignes 27 et 29 remplace Fileyear par ssyear sinon le dossier ne sera pas créé dans sserver mais dans le rep du script
Marsh Posté le 10-11-2005 à 13:41:33
merci dahlo pour cette erreur.. mais cela ne résout toujours pas mon probleme..
Marsh Posté le 10-11-2005 à 14:08:05
A la vérif, la méthode copy() de la classe CIM_DataFile ne supporte pas l'écrasement d'un fichier existant
Citation : Copy Method of the CIM_DataFile Class |
Remplace ligne 56: objFile.Copy(StrCopy)
par:
Fso.CopyFile sserveur & "\" & objfile.Filename & "." & objfile.Extension, Strcopy, True
Marsh Posté le 10-11-2005 à 14:25:00
bon.. j'ai encore un truc à modifier.. et j'aurais surement encore besoin de tes precieux conseils.
mais je vais tout de meme essayer de chercher de mon coté...
Marsh Posté le 10-11-2005 à 14:26:27
Qu'est qui t'a mis le doigt sur le CIM_datafile au faite?
Marsh Posté le 10-11-2005 à 14:46:43
Par une réactivation soudaine d'un ancien neurotransmetteur et re-vérif msdn, m'étais déjà fait avoir
Marsh Posté le 10-11-2005 à 14:52:46
ok!
merci tout de meme!!!
j'aurais jamais pensé à vérifier çà! comme je l'ai dis.. c'est mon premier script VB!
Marsh Posté le 10-11-2005 à 09:28:57
bonjour,
J'ai créé un script qui fait un tri lorsque des fichiers sont déposé sur un serveur FTP.
Ces fichiers ont comme particularités d'avoir un nom assez explicite:
STDannéemoi.log
J'ai donc fait un script qui récupère l'année du fichier puis le mois.
Cela donc créé donc une arborescente de cette sorte ANNEE / MOIS / fichier
Mon probleme est que ce fichier est incrémenté (c'est un fichier LOG) tous les jours et uploadé tous les jours sur mon FTP.
Donc tous les jours je dois trier les fichiers MAIS, je ne comprend pas pourquoi la copie n'overwrite pas le fichier de la veille.
Je pense que ce bout de code est mauvais mais je vois pas comment le modifier:
avant j'avais mis ce code là et çà n'overwrite toujours pas:
Si vous voulez le reste du code, ya pas de pb... mais bon.. comme çà fonctionne.. je vois pas l'utilité de le mettre..
merci de votre aide!!
Message édité par rules_taff le 10-11-2005 à 14:32:50