웹사이트 디자이너의 경우 수시로 대량의 파일을 처리하는 것은 불가피합니다. 특히 자주 처리되는 사진과 일부 텍스트 파일은 더욱 그렇습니다. 웹 사이트에는 파일 수가 많기 때문에 동일한 유형의 파일은 특정 규칙에 따라 증가하는 숫자를 사용하여 이름이 지정되는 경우가 많습니다. 예를 들어, 일반적인 사진 파일의 이름은 1001.jpg, 1002인 경우가 많습니다. jpg 방법의 장점은 파일 이름이 반복되지 않으며 관리가 쉽습니다. 여기서는 모든 폴더의 모든 파일 이름을 일괄적으로 바꾸는 간단하고 쉬운 방법을 구체적으로 소개합니다. 물론 이름을 바꾼 후 파일 이름은 웹 사이트 디자이너의 필요에 따라 숫자가 증가합니다.
위 기능을 구현하기 위해 ASP를 사용합니다. 설계에는 파일 작업이 포함되고 FileSystemObject 개체를 사용하므로 이 기능의 구현은 파일 작업 권한이 있는 웹 사이트에서 수행되어야 합니다. 일반적인 가상 주의: 보안 요구 사항을 고려하여 파일 존재 권한이 부여되지 않을 수 있습니다. 또한 다음 프로그램에서는 지정된 폴더 strFromDir에 있는 모든 파일을 작동합니다. 이 파일입니다. 파일 형식에 관계없이 프로그램은 폴더에 있는 파일의 이름을 변경합니다. 물론 파일 형식은 변경되지 않습니다. 이름이 변경된 파일은 더 이상 원본 폴더에 저장되지 않습니다. 새 폴더.strTargetDir, 복사하는 것이 아니라 여기로 이동하므로 작업 후에는 원본 폴더의 모든 파일이 더 이상 존재하지 않습니다. 프로그램은 FileSystemObject 개체에서 제공하는 다양한 속성과 기능을 잘 활용합니다.
구현이 간단합니다. 다른 언어로
프로그래밍하는 친구라면 깊이 느낄 수도 있습니다. 이제 함수 구현 코드를 살펴보겠습니다.
<%옵션 명시적%>
<%
'다음 프로그램은 일괄적으로 폴더의 파일 이름을 바꾸고 모든 파일을 새 폴더로 이동합니다.
응답."<html>" & VbCrLf & "<head>" & VbCrLf 쓰기
Response.Write "<제목>배치 파일 이름 바꾸기</제목>" & VbCrLf
응답."</head>" & VbCrLf & "<body>" & VbCrLf를 작성하세요.
'변수 설명
Dim gbolGo절차
Dim strFromDir '소스 폴더
Dim strTargetDir '대상 폴더
희미한 objFS
희미한 objRootFolder
희미한 obj파일
희미한 strFileNameLen
희미한 strPrevFileName
Dim strFileExt '파일 확장자
희미한 strFileNameCount
희미한 strNewFileName
Dim strRealCount '처리된 파일 수
gbolGoProcedure = False
'시작 버튼을 클릭하면 다음 처리를 수행합니다.
If (Request.Form("GoButton")) = "Start" then
'원본 폴더 및 대상 폴더 지정
strFromDir = "D:test"
strTargetDir = "D:test1"
' 처리할 파일 수를 0으로 설정합니다.
strRealCount = 0
Set objFS = Server.CreateObject("Scripting.FileSystemObject")
Set objRootFolder = objFS.GetFolder(strTargetDir)
'여기에서 100001로 설정된 파일 이름의 특정 설정은 파일 이름이 100001에서 변경됨을 나타냅니다.
'시작하고 점차적으로 늘리며 필요에 따라 설정할 수 있습니다.
strFileNameCount = 100001
objRootFolder.Files의 각 objFile에 대해
'특정 파일의 경우 처리가 수행되지 않으며 필요에 따라 설정할 수 있습니다.
objFile.Name = "Thumbs.db"이면 strFileNameCount = StrFileNameCount - 1
strFileNameCount = strFileNameCount + 1
다음
설정 objRootFolder = objFS.GetFolder(strFromDir)
objRootFolder.Files의 각 objFile에 대해
strFileNameLen = 렌(objFile.Name)
Mid (objFile.Name,(strFileNameLen - 3),1) = "."인 경우
strFileExt = 오른쪽(objFile.Name, 4)
또 다른
strFileExt = 오른쪽(objFile.Name, 5)
End If
strPrevFileName = objFile.Name
strNewFileName = strFileNameCount & strFileExt
objFile.Move strTargetDir & strNewFileName
Response.Write "소스 파일: " &strFromDir&strPrevFileName & " > 이동 및 이름 바꾸기: " &strTargetDir& strNewFileName & "<br>" & vbCrLF
strFileNameCount = strFileNameCount + 1
strRealCount = strRealCount + 1
Next
Response.Write "<p><b> 총 처리됨: " & (strRealCount) & " files</B>" & vbCrLf
Set objRootFolder = Nothing
set objFS = Nothing
gbolGoProcedure = True
End If
If gbolGoProcedure Then
Response.Write("<p><b>일괄 파일 이동 및 이름 변경</b>") & vbCrLf
Else
Response.Write("<center><br><form method=""post"" action=""FileNameConverter.asp"" ID=form1 name=""form1"">") & vbCrLf
Response.Write("<input type=""SUBMIT"" value="" 시작"" ID=""GoButton"" name=""GoButton"">") & vbCrLf
Response.Write("</form>") & vbCrLf
Response.Write("<p><b>파일을 일괄 이동하고 이름을 바꾸려면 버튼을 클릭하세요</b></center>") & VbCrLf
End If
Response.Write "</body>" & VbCrLf & "</html>"
%>