熱點推薦:
您现在的位置: 電腦知識網 >> 網絡技術 >> 正文

用ASP實現遠程批量文件改名

2022-06-13   來源: 網絡技術 

  對於網站設計者而言時常處理大批量的文件是難免的特別是圖片和一些文本文本文件更是經常處理而由於網站大量文件的關系對於同類型文件的命名往往就直接采用帶有一定規律的遞增數字來作為文件名比如我們常見的圖片文件的命名就時常采用jpgjpg這種方式這樣的好處是文件名不會重復容易管理這裡我們專門介紹一種簡單易行的方法來實現對任意文件夾下的所有文件進行批量改名當然改名以後的文件名是根據網站設計者的需要按照數字進行遞增的
  
  我們使用ASP來實現以上功能需要注意的是因為設計到文件操作使用FileSystemObject對象所以該功能的實現要在具有文件操作權限的網站進行一般的虛擬注意考慮到安全要求可能不會給予文件存在權限這是我們首先需要注意的另外在下面的程序中我們將操作指定文件夾strFromDir中的所有文件只要是這個文件夾中的文件無論文件類型如何程序都會對其進行文件改名操作當然文件類型是不會進行改變的改名以後的文件將不在保存在原文件夾而是移動到新的文件夾strTargetDir注意我們這裡是移動不是拷貝所以進行操作以後原文件夾中所有的文件都將不存在程序很好的利用了FileSystemObject對象提供的各種屬性和特征實現的時候簡單明了使用其他語言編程的朋友可能會感受深刻現在我們就來看功能實現代碼
  
  <% @LANGUAGE = VBSCRIPT %>
  <%Option Explicit%>
  <%
  以下程序批量改名文件夾中的文件名並將所有文件移動到新的文件夾
  ResponseWrite <html> & VbCrLf & <head> & VbCrLf
  ResponseWrite <title>批量文件改名</title> & VbCrLf
  ResponseWrite </head> & VbCrLf & <body> & VbCrLf
   變量說明
  Dim gbolGoProcedure
  Dim strFromDir 源文件夾
  Dim strTargetDir 目標文件夾
  Dim objFS
  Dim objRootFolder
  Dim objFile
  Dim strFileNameLen
  Dim strPrevFileName
  Dim strFileExt 文件擴展名
  Dim strFileNameCount
  Dim strNewFileName
  Dim strRealCount 處理的文件數量
  
  gbolGoProcedure = False
  
   如果點擊了開始按鈕進行以下處理
  If (RequestForm(GoButton)) = 開 始 then
  
   指定源文件夾目標文件夾
  
   strFromDir = D:test\
   strTargetDir = D:\test\
  
    將處理文件數量設置為
  
   strRealCount =
  
   Set objFS = ServerCreateObject(ScriptingFileSystemObject)
  
   Set objRootFolder = objFSGetFolder(strTargetDir)
   文件名的具體設置這裡設置為表明文件名將從
   開始逐步遞增可以根據需要設置
   strFileNameCount =
  
  For each objFile in objRootFolderFiles
   對於特定的文件不進行處理可以根據需要設置
   If objFileName = Thumbsdb then strFileNameCount = StrFileNameCount
   strFileNameCount = strFileNameCount +
  Next
  
  Set objRootFolder = objFSGetFolder(strFromDir)
  For each objFile in objRootFolderFiles
   strFileNameLen = Len (objFileName)
   If Mid (objFileName(strFileNameLen )) = then
    strFileExt = right(objFileName )
   Else
    strFileExt = right(objFileName )
   End If
  
   strPrevFileName = objFileName
   strNewFileName = strFileNameCount & strFileExt
  
   objFileMove strTargetDir & strNewFileName
  
   ResponseWrite 源文件: &strFromDir&strPrevFileName & > 移動並改名為: &strTargetDir& strNewFileName & <br> & vbCrLF
   strFileNameCount = strFileNameCount +
   strRealCount = strRealCount +
  
  Next
  
   ResponseWrite <p><b>一共處理 & (strRealCount) & 個文件</B> & vbCrLf
  
   Set objRootFolder = Nothing
   Set objFS = Nothing
  
   gbolGoProcedure = True
  
  End If
  
  If gbolGoProcedure Then
   ResponseWrite(<p><b>批量文件批量移動和改名</b>) & vbCrLf
  
  Else
   ResponseWrite(<center><br><form method=post action=FileNameConverterasp  ID=form name=form) & vbCrLf
   ResponseWrite(<input type=SUBMIT value= 開 始 ID=GoButton  name=GoButton) & vbCrLf
   ResponseWrite(</form>) & vbCrLf
   ResponseWrite(<p><b>點擊按鈕對文件進行批量移動和改名</b></center>) & VbCrLf
  End If
  
  ResponseWrite </body> & VbCrLf & </html>
  
  %>
From:http://tw.wingwit.com/Article/Network/201311/29889.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.