J'ai un VBScript utilisé pour renommer des fichiers. Ce que je dois mettre en œuvre dans le script est quelque chose qui supprime le "nouveau fichier" s'il existe déjà.
Par exemple: j'ai un lot de fichiers nommé comme ceci 11111111.DDDDDDDD.PDF où les fichiers sont renommés sur 11111111.pdf. Le problème est que lorsque je renommerai au format 11111111111111111.PDF, je fini par des fichiers dupliqués et que le script échoue, car vous ne pouvez évidemment pas avoir 2 fichiers avec le même nom. J'en ai besoin pour renommer le premier, mais supprimez ensuite les autres renommés les mêmes. P>
Voici ce que j'ai jusqu'à présent pour ma déclaration IF mais cela ne fonctionne pas et je reçois et que je reçois et erroné, dit "Mismachatch de type:" FileExists ". Je ne sais pas comment obtenir cette partie du code pour exécuter la façon dont je voudrais. Toute aide ou suggestions serait grandement appréciée. P>
dim infolder: set infolder = fso.GetFolder(IN_PATH) dim file for each file in infolder.files dim name: name = file.name dim parts: parts = split(name, ".") dim acct_, date_ acct_ = parts(0) date_ = parts(1) ' file format of a.c.pdf if UBound(parts) = 2 then ' rebuild the name with the 0th and 2nd elements dim newname: newname = acct_ & "." & parts(2) ' use the move() method to effect the rename file.move fso.buildpath(OUT_PATH, newname) if newname = FileExists(file.name) Then newname.DeleteFile() end if end if next 'file
3 Réponses :
Vous avez également un problème avec la suppression, En outre, il semble que vous déplacez le fichier, puis essayez de gérer le problème de dépassement, qui est hors de commande. Vous devez d'abord détecter la collision de noms, vous pouvez donc choisir le fichier de renommer ou supprimer la collision en premier. Je suppose que vous supposez que vous souhaitiez continuer à supprimer les nouveaux fichiers jusqu'à ce que vous arriviez au dernier, qui semblait implicite dans votre question. P> afin que vous puissiez utiliser le bloc: p> FileeExists () code> est une méthode de
FileSystemObject code>, pas une fonction de portée globale.
deletefile () CODE> est également une méthode de
FileSystemObject code>. p>
if NOT fso.FileExists(newname) Then
file.move fso.buildpath(OUT_PATH, newname)
else
fso.DeleteFile newname
file.move fso.buildpath(OUT_PATH, newname)
end if
Merci pour votre réponse. J'ai testé cela aussi et ça marche.
Vous êtes proche, il vous suffit de supprimer le fichier avant em> essayer de trop écrire.
Salman A- Je savais que cela devait être quelque chose de simple. J'ai tout travaillé sur elle et je n'en pensais pas droit. Fonctionne comme un charme. Très appréciée.
IF both POS_History_bim_data_*.zip and POS_History_bim_data_*.zip.trg exists in Y:\ExternalData\RSIDest\ Folder then Delete File Y:\ExternalData\RSIDest\Target_slpos_unzip_done.dat