scriptet ska ändra namn på filer i bestämd mapp
varje ord ska börja med stor bokstav
alla understreck_ ska replace'as med ett mellanrum
och "rmx" ska replace'as med "Remix"
resten av namnet ska vara som det är =)
7 svar · 262 visningar · startad av Frexuz
scriptet ska ändra namn på filer i bestämd mapp
varje ord ska börja med stor bokstav
alla understreck_ ska replace'as med ett mellanrum
och "rmx" ska replace'as med "Remix"
resten av namnet ska vara som det är =)
Är det ungefär såhär du menar?
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("mapp"))
For Each File In objFolder.Files
arrName = Split(Replace(File.Name, "_", " "))
For i = 0 To UBound(arrName)
strName = strName & UCase(Left(arrName(i), 1)) & Mid(arrName(i), 2) & " "
Next
strName = Replace("rmx", "Remix")
File.Name = Trim(strName)
Next
Set objFolder = Nothing : Set objFSO = Nothing
det verkar inte hända så mkt.... sidan laddar o laddar o laddar, men filen ändrar inte namn
har testat både server.mapPath och vanlgit
Har du Norton Antivirus installerat på datorn?
ja..det var felet med funkar fortfarande inte
har fixat annan kod.....felet:
---------------------------------------
"filen finns redan"
line 45
objFile.Name = strName
---------------------------------------
<html>
<body bgcolor="#999999" text="#000000" leftmargin="5" topmargin="5" marginwidth="0" marginheight="0">
<font face="verdana" size="1">
<%
Function ProperCase(Value)
ProperCase = UCase(Left(Value, 1)) & LCase(Mid(Value, 2))
End Function
Sub FixNames(Path)
Dim objFSO
Dim objFile
Dim objFolder
Dim strName
Dim arrName
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Mp3")
For Each objFile In objFolder.Files
orgName = objFile.Name
strName = objFile.Name
Response.Write strName & " <font color=""#FFFFFF"">-></font><font color=""#000000""> "
'**
'* Ersätter "rmx" till "Remix"
'**
strName = Replace(strName, "rmx", "Remix", vbTextCompare)
'**
'* Ersätter "_" till " "
'**
strName = Replace(strName, "_", " ")
strName = Replace(strName, " - ", "-")
strName = Replace(strName, "-", " - ")
'**
'* Formaterar ord
'**
arrName = Split(strName)
For i = 0 To UBound(arrName)
arrName(i) = ProperCase(arrName(i))
Next
strName = Join(arrName)
if orgName = strName then
response.write ""
else
objFile.Name = strName
end if
Response.Write strName & "<BR>" & vbCrLf
Next
Response.Write " - Done - <BR>" & vbCrLf
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
FixNames("C:\Mp3")
%>
</font>
</body>
</html>
Testa med den koden du fick av sebbe.. Den borde fungera..
Och scriptblockering i norton antivirus är farliga saker.
Lösning: Ändra filens namn till ett temp-namn, och sen till nya.
Hur enkelt som helst var det ju :(