Web サイトのデザイナーにとって、大量のファイル、特に頻繁に処理される画像や一部のテキスト ファイルを処理することは避けられません。 Web サイトには多数のファイルがあるため、同じ種類のファイルには特定の規則に従って番号が大きくなる名前が付けられることがよくあります。たとえば、一般的な画像ファイルには 1001.jpg、1002 という名前が付けられます。jpg 方式の利点は、次のとおりです。ファイル名が重複せず、管理が容易になります。ここでは、任意のフォルダー内のすべてのファイルの名前を一括変更する簡単で簡単な方法を具体的に紹介します。 もちろん、名前変更後のファイル名は、Web サイト設計者のニーズに応じて数値的に増加します。
上記の機能の実装には ASP を使用します。設計にはファイル操作が含まれ、FileSystemObject オブジェクトが使用されるため、この機能の実装はファイル操作権限のある Web サイトで実行する必要があります。仮想的な一般的な注意: セキュリティ要件を考慮すると、ファイルの存在許可が与えられていない可能性があります。さらに、次のプログラムでは、指定されたフォルダー strFromDir 内のすべてのファイルを操作します。ファイルの種類に関係なく、プログラムはフォルダー内のファイルの名前を変更します。もちろん、名前が変更されたファイルは元のフォルダーに保存されなくなり、別のフォルダーに移動されます。新しいフォルダー。strTargetDir、ここではコピーではなく移動していることに注意してください。そのため、操作後、プログラムは、FileSystemObject オブジェクトによって提供されるさまざまなプロパティと機能を有効に活用します。明らかに、他の言語でプログラミングをしている友人は深く感じるかもしれません。関数の実装コードを見てみましょう:
<% @LANGUAGE = VBSCRIPT %>
<%オプション明示%>
<%
'次のプログラムは、フォルダー内のファイルの名前をバッチで変更し、すべてのファイルを新しいフォルダーに移動します。
Response.Write "<html>" & VbCrLf & "<head>" & VbCrLf
Response.Write "<タイトル>バッチファイル名変更</タイトル>" & VbCrLf
Response.Write "</head>" & VbCrLf & "<body>" & VbCrLf
'変数の説明
Dim gbolGoProcedure
Dim strFromDir 'ソースフォルダー
Dim strTargetDir 'ターゲットフォルダー
薄暗いobjFS
Dim objRootFolder
薄暗いobjファイル
Dim strFileNameLen
Dim strPrevFileName
Dim strFileExt 'ファイル拡張子
Dim strFileNameCount
Dim 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 から変更されることを示します
'開始し、徐々に増加し、必要に応じて設定できます。
objRootFolder.Files 内の各 objFile について、
strFileNameCount = 100001
'特定のファイルについては処理は実行されず、必要に応じて設定できます。
objFile.Name = "Thumbs.db" の場合、strFileNameCount = StrFileNameCount - 1
strFileNameCount = strFileNameCount + 1
次に、
objRootFolder = objFS.GetFolder(strFromDir) を設定します。
objRootFolder.Files 内の各 objFile について
strFileNameLen = Len (objFile.Name)
Mid (objFile.Name,(strFileNameLen - 3),1) = "." の場合
strFileExt = right(objFile.Name, 4)
それ以外
strFileExt = right(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("<センター><br><フォームメソッド=""ポスト"" アクション=""FileNameConverter.asp"" ID=form1 name=""form1"">") & vbCrLf
Response.Write("<input type=""SUBMIT"" value="" Start"" ID=""GoButton"" name=""GoButton"">") & vbCrLf
Response.Write("</form>") & vbCrLf
Response.Write("<p><b>ボタンをクリックするとファイルの一括移動と名前変更</b></center>") & VbCrLf
End If
Response.Write "</body>" & VbCrLf & "</html>"
%>