當(dāng)前位置: 首頁(yè)IT技術(shù) → ASP遠(yuǎn)程批量文件改名的方法

ASP遠(yuǎn)程批量文件改名的方法

更多

這是關(guān)于ASP遠(yuǎn)程批量文件改名的方法的教程,學(xué)習(xí)ASP的朋友可以看一下,ASP到底是如何來(lái)實(shí)現(xiàn)遠(yuǎn)程批量文件改名的。

對(duì)于網(wǎng)站設(shè)計(jì)者而言,時(shí)常處理大批量的文件是難免的,特別是圖片和一些文本文本文件,更是經(jīng)常處理。而由于網(wǎng)站大量文件的關(guān)系,對(duì)于同類(lèi)型文件的命名,往往就直接采用帶有一定規(guī)律的遞增數(shù)字來(lái)作為文件名,比如,我們常見(jiàn)的圖片文件的命名,就時(shí)常采用1001.jpg、1002.jpg這種方式,這樣的好處是文件名不會(huì)重復(fù),容易管理。這里,我們專(zhuān)門(mén)介紹一種簡(jiǎn)單易行的方法來(lái)實(shí)現(xiàn)對(duì)任意文件夾下的所有文件進(jìn)行批量改名,當(dāng)然,改名以后的文件名,是根據(jù)網(wǎng)站設(shè)計(jì)者的需要,按照數(shù)字進(jìn)行遞增的。
  
    我們使用ASP來(lái)實(shí)現(xiàn)以上功能,需要注意的是,因?yàn)樵O(shè)計(jì)到文件操作,使用FileSystemObject對(duì)象,所以,該功能的實(shí)現(xiàn)要在具有文件操作權(quán)限的網(wǎng)站進(jìn)行。一般的虛擬注意,考慮到安全要求,可能不會(huì)給予文件存在權(quán)限,這是我們首先需要注意的;另外,在下面的程序中,我們將操作指定文件夾strFromDir中的所有文件,只要是這個(gè)文件夾中的文件,無(wú)論文件類(lèi)型如何,程序都會(huì)對(duì)其進(jìn)行文件改名操作,當(dāng)然,文件類(lèi)型是不會(huì)進(jìn)行改變的,改名以后的文件,將不在保存在原文件夾,而是移動(dòng)到新的文件夾strTargetDir,注意,我們這里是移動(dòng),不是拷貝,所以,進(jìn)行操作以后,原文件夾中所有的文件都將不存在;程序很好的利用了FileSystemObject對(duì)象提供的各種屬性和特征,實(shí)現(xiàn)的時(shí)候簡(jiǎn)單明了,使用其他語(yǔ)言編程的朋友可能會(huì)感受深刻;現(xiàn)在,我們就來(lái)看功能實(shí)現(xiàn)代碼:
  
  <% @LANGUAGE = VBSCRIPT %>
  <%Option Explicit%>
  <%
  '以下程序批量改名文件夾中的文件名,并將所有文件移動(dòng)到新的文件夾;
  Response.Write "<html>" & VbCrLf & "<head>" & VbCrLf
  Response.Write "<title>批量文件改名</title>" & VbCrLf
  Response.Write "</head>" & VbCrLf & "<body>" & VbCrLf
  ' 變量說(shuō)明
  Dim gbolGoProcedure
  Dim strFromDir '源文件夾
  Dim strTargetDir '目標(biāo)文件夾
  Dim objFS
  Dim objRootFolder
  Dim objFile
  Dim strFileNameLen
  Dim strPrevFileName
  Dim strFileExt '文件擴(kuò)展名
  Dim strFileNameCount
  Dim strNewFileName
  Dim strRealCount '處理的文件數(shù)量
  
  gbolGoProcedure = False
  
  ' 如果點(diǎn)擊了開(kāi)始按鈕,進(jìn)行以下處理
  If (Request.Form("GoButton")) = " 開(kāi) 始 " then
  
  ' 指定源文件夾、目標(biāo)文件夾
  
   strFromDir = "D:test\"
   strTargetDir = "D:\test1\"
  
   ' 將處理文件數(shù)量設(shè)置為0
  
   strRealCount = 0
  
   Set objFS = Server.CreateObject("Scripting.FileSystemObject")
  
   Set objRootFolder = objFS.GetFolder(strTargetDir)
   '文件名的具體設(shè)置,這里設(shè)置為100001,表明文件名將從100001
   '開(kāi)始,逐步遞增,可以根據(jù)需要設(shè)置;
   strFileNameCount = 100001
  
  For each objFile in objRootFolder.Files
   '對(duì)于特定的文件,不進(jìn)行處理,可以根據(jù)需要設(shè)置;
   If objFile.Name = "Thumbs.db" then strFileNameCount = StrFileNameCount - 1
   strFileNameCount = strFileNameCount + 1
  Next
  
  Set objRootFolder = objFS.GetFolder(strFromDir)
  For each objFile in objRootFolder.Files
   strFileNameLen = Len (objFile.Name)
   If Mid (objFile.Name,(strFileNameLen - 3),1) = "." then
    strFileExt = right(objFile.Name, 4)
   Else
    strFileExt = right(objFile.Name, 5)
   End If
  
   strPrevFileName = objFile.Name
   strNewFileName = strFileNameCount & strFileExt
  
   objFile.Move strTargetDir & strNewFileName
  
   Response.Write "源文件: " &strFromDir&strPrevFileName & " > 移動(dòng)并改名為: " &strTargetDir& strNewFileName & "<br>" & vbCrLF
   strFileNameCount = strFileNameCount + 1
   strRealCount = strRealCount + 1
  
  Next
  
   Response.Write "<p><b>一共處理: " & (strRealCount) & " 個(gè)文件</B>" & vbCrLf
  
   Set objRootFolder = Nothing
   Set objFS = Nothing
  
   gbolGoProcedure = True
  
  End If
  
  If gbolGoProcedure Then
   Response.Write("<p><b>批量文件批量移動(dòng)和改名</b>") & vbCrLf
  
  Else
   Response.Write("<center><br><form method=""post"" action=""FileNameConverter.asp""  ID=form1 name=""form1"">") & vbCrLf
   Response.Write("<input type=""SUBMIT"" value="" 開(kāi) 始 "" ID=""GoButton""  name=""GoButton"">") & vbCrLf
   Response.Write("</form>") & vbCrLf
   Response.Write("<p><b>點(diǎn)擊按鈕對(duì)文件進(jìn)行批量移動(dòng)和改名</b></center>") & VbCrLf
  End If
  
  Response.Write "</body>" & VbCrLf & "</html>"
  
  %>

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)