webForumDet fria alternativet

Byta namn i mapp

ASP

1 svar · 222 visningar · startad av AG

Medlem sedan mars 20001 266 inlägg
Frågan#1

Skulle behöva ha hjälp med några rader kod.
Behöver en kodsnutt som döper om alla filer i en mapp.
Filerna är i .jpg format. Alla bokstäver skall vara stora. " " skall bytas ut mot "-" och å,ä,ö skall ersättas med a,a,o.
Behöver hjälp med detta, annars får jag sitta och manuellt ändra varje filnamn.

Andreas

Medlem sedan apr. 20003 174 inlägg
#2

Här är en variant som gör följande:

  1. Hämtar alla jpg-bilderna i mappen där scriptet ligger
  2. Skapar en ny mapp, i den aktuella mappen, som heter kopia
  3. Byter namn på bilderna enligt dina önskemål och sparar dem i den nya mappen (kopia)
  4. Raderar de gamla bilderna. Vill du inte radera de gamla bilderna kan du kommentera bort raden objFSO.DeleteFile Server.MapPath(objFileItem.Name)
[RED]<%

'// Funktion som fixar det nya filnamnet
Function fixName(str)
	str = trim(str)
	If Len(str) > 0 Then
		str = Replace(str, " ", "-")
		str = Replace(str, "å", "a")
		str = Replace(str, "ä", "a")
		str = Replace(str, "ö", "o")
		fixName = str
	End If
End Function

'// Hämta alla jpg-bilderna i mappen och döp om dem
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Server.MapPath(Request.ServerVariables("PATH_INFO")))
Set objFolder = objFile.ParentFolder
Set objFolderContents = objFolder.Files 

	For Each objFileItem in objFolderContents
		If UCase(Right(objFileItem.Name,3)) = "JPG" Then
			If NOT objFSO.FolderExists(objFile.ParentFolder &"/kopia") Then objFSO.CreateFolder(objFile.ParentFolder &"/kopia")
			objFSO.CopyFile Server.MapPath(objFileItem.Name),Server.MapPath("kopia/"& UCase(fixName(objFileItem.Name)))
			objFSO.DeleteFile Server.MapPath(objFileItem.Name)
		End If
	Next

Set objFSO = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFolderContents = Nothing

Response.Write "Klart!"

%>[/RED]

Hoppas det fungerar som du tänkt dig. :)

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)