Pour les concepteurs de sites Web, il est inévitable de traiter de temps en temps de grandes quantités de fichiers, notamment des images et certains fichiers texte, qui sont traités fréquemment. En raison du grand nombre de fichiers sur le site Web, les fichiers du même type sont souvent nommés en utilisant des nombres croissants avec certaines règles. Par exemple, nos fichiers d'images courants sont souvent nommés 1001.jpg, 1002. L'avantage de la méthode jpg est que le nom est 1001.jpg. les noms de fichiers ne seront pas répétés et il est facile à gérer. Ici, nous présentons spécifiquement une méthode simple et facile pour renommer par lots tous les fichiers de n'importe quel dossier. Bien entendu, les noms de fichiers après le renommage sont incrémentés numériquement en fonction des besoins du concepteur du site Web.
Nous utilisons ASP pour implémenter les fonctions ci-dessus. Il convient de noter que, comme la conception implique des opérations sur les fichiers et utilise l'objet FileSystemObject, l'implémentation de cette fonction doit être effectuée sur un site Web avec des autorisations d'opération sur les fichiers. Attention virtuelle générale : compte tenu des exigences de sécurité, les autorisations d'existence des fichiers peuvent ne pas être accordées. C'est la première chose à laquelle nous devons prêter attention. Dans le programme suivant, nous exploiterons tous les fichiers du dossier strFromDir spécifié. c'est ce fichier. Quel que soit le type de fichier, le programme renommera les fichiers du dossier. Bien entendu, le type de fichier ne sera pas modifié. Les fichiers renommés ne seront plus enregistrés dans le dossier d'origine, mais seront déplacés vers un. nouveau dossier. strTargetDir, veuillez noter que nous nous déplaçons ici et ne copions pas, donc après l'opération, tous les fichiers du dossier d'origine n'existeront plus ; le programme fait bon usage de diverses propriétés et fonctionnalités fournies par l'objet FileSystemObject, et est simple à mettre en œuvre. Évidemment, les amis qui programment dans d'autres langages peuvent le ressentir profondément ; regardons maintenant le code d'implémentation de la fonction :
<% @LANGUAGE = VBSCRIPT %>
<%Option Explicite%>
<%
« Le programme suivant renomme les fichiers d'un dossier par lots et déplace tous les fichiers vers un nouveau dossier ;
Réponse.Écrire "<html>" & VbCrLf & "<head>" & VbCrLf
Response.Write "<titre>Renommer le fichier batch</titre>" & VbCrLf
Réponse.Écrire "</head>" & VbCrLf & "<body>" & VbCrLf
'Description des variables
Dim gbolGoProcédure
Dim strFromDir 'Dossier source
Dim strTargetDir 'Dossier cible
Faible objFS
Dim objRootFolder
Dim objFichier
Dim strFileNameLen
Dim strPrevFileName
Dim strFileExt 'Extension de fichier
Dim strFileNameCount
Dim strNewFileName
Dim strRealCount 'Nombre de fichiers traités
gbolGoProcedure = False
'Si vous cliquez sur le bouton Démarrer, effectuez le traitement suivant
If (Request.Form("GoButton")) = "Start" then
'Spécifiez le dossier source et le dossier cible
strFromDir = "D:test"
strTargetDir = "D:test1"
' Définit le nombre de fichiers à traiter sur 0
strRealCount = 0
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set objRootFolder = objFS.GetFolder(strTargetDir)
'Le paramètre spécifique du nom de fichier, défini ici sur 100001, indique que le nom du fichier sera modifié de 100001
« Commencer, augmenter progressivement et peut être réglé selon les besoins ;
strFileNameCount = 100001
Pour chaque objFile dans objRootFolder.Files
« Pour des fichiers spécifiques, aucun traitement ne sera effectué et pourra être paramétré selon les besoins ;
Si objFile.Name = "Thumbs.db" alors strFileNameCount = StrFileNameCount - 1
strFileNameCount = strFileNameCount + 1
Suivant
Définir objRootFolder = objFS.GetFolder(strFromDir)
Pour chaque objFile dans objRootFolder.Files
strFileNameLen = Len (objFile.Name)
Si Mid (objFile.Name,(strFileNameLen - 3),1) = "."
strFileExt = droite (objFile.Name, 4)
Autre
strFileExt = droite (objFile.Name, 5)
Fin si
strPrevFileName = objFile.Name
strNewFileName = strFileNameCount & strFileExt
objFile.Move strTargetDir & strNewFileName
Response.Write "Fichier source : " &strFromDir&strPrevFileName & " > Déplacer et renommer : " &strTargetDir& strNewFileName & "<br>" & vbCrLF
strFileNameCount = strFileNameCount + 1
strRealCount = strRealCount + 1
Next
Response.Write "<p><b> Traité au total : " & (strRealCount) & " files</B>" & vbCrLf
Set objRootFolder = Nothing
Définir objFS = Rien
gbolGoProcedure = True
End If
If gbolGoProcedure Then
Response.Write("<p><b>Déplacement et renommage du fichier batch</b>") & vbCrLf
Else
Response.Write("<center><br><form method=""post"" action=""FileNameConverter.asp"" ID=form1 name=""form1"">") & vbCrLf
Response.Write("<input type=""SUBMIT"" value="" Start"" ID=""GoButton"" name=""GoButton"">") & vbCrLf
Réponse.Write("</form>") & vbCrLf
Response.Write("<p><b>Cliquez sur le bouton pour déplacer et renommer les fichiers par lots</b></center>") & VbCrLf
Fin si
réponse.Écrivez "</body>" & VbCrLf & "</html>"
%>