推奨:ASPエラーオブジェクトのヒントvbscriptには、スクリプトインタープリターがランタイムエラーを無視し、スクリプトコードの実行を継続するために、on error resumeの次のステートメントがあります。次に、スクリプトはERR.Numberプロパティの値を確認して、エラーが発生したかどうかを判断できます。エラーが発生した場合、ゼロ以外の値が返されます。 ASP 3.0では、エラーGOTO 0で使用してデフォルトを「ターンバック」することもできます
- '==============================
- 'ファイル1
- 'pack.asp
- 'この変数を変更します
- 'data.xmlファイルは現在のディレクトリで生成されます
- 'data.xmlとfile 2(install.asp)をWebルートディレクトリにアップロードします
- 'install.aspの解放を実行します
- '上記の2つのファイルを手動で削除します
- '==============================
- <%optionexplicit%>
- <%onerrorresumenext%>
- <%
- server.scripttimeout = 99999999
- dimcpathname
- 薄暗い、終わりの時間
- 'ここにパッケージ化するフォルダーへのパスを変更します
- cpathname = f:websymr
- starttime = timer()
- functionbianli(パス)
- dimdoc
- dimfso'fsoオブジェクト
- dimobjfolder 'フォルダーオブジェクト
- dimobjsubfoldersのサブフォルダーコレクション
- dimobjsubfolderのサブフォルダーオブジェクト
- dimobjfilesのファイルコレクション
- dimobjfile 'ファイルオブジェクト
- DimobjStream
- dimpathname、textStream、pp、xfolder、xfpath、xfile、xpath、xstream
- setFSO = server.createObject(scripting.filesystemObject)
- setobjfolder = fso.getFolder(path) 'フォルダーオブジェクトを作成します
- Response.WritePath
- Response.Flush
- setdoc = server.createobject(msxml2.domdocument)
- doc.loadserver.mappath(data.xml)
- doc.async = false
- '各フォルダーパスに書き込みます
- setXfolder = doc.selectsinglenode(// z-blog).appendchild(doc.createelement(folder)))
- setxfpath = xfolder.appendchild(doc.createelement(path)))
- xfpath.text =置換(path、cpathname、)
- setobjfiles = objfolder.files
- foreachobjfileinobjfiles
- Response.Write
- ---
- pp = path && objfile.name
- respons.writep&
- Response.Flush
- '==========================================================================
- 'ファイルへのパスとファイルコンテンツ
- setXfile = doc.selectsinglenode(// z-blog).appendchild(doc.createelement(file)))
- setXPath = Xfile.AppendChild(doc.CreateElement(PATH)))
- xpath.text =置換(pp、cpathname、)
- 'ファイルストリームを作成してファイルコンテンツを読み取り、XMLファイルに書き込みます
- setobjstream = server.createobject(adodb.stream)
- objstream.type = 1
- objstream.open()
- objstream.loadfromfile(pp)
- objstream.position = 0
- setXStream = Xfile.AppendChild(doc.createelement(stream)))
- XStream.SetAttributExmlns:DT、urn:Schemas-Microsoft-Com:DataTypes
- 'ファイルコンテンツは2つのシステムに保存されます
- xstream.datatype = bin.base64
- xstream.nodetypedvalue = objstream.read()
- setobjstream =何もない
- setXPath =何もない
- SetXStream =何もない
- setXfile = Nothing
- '==========================================================================
- 次
- Response.Write <P>
- doc.saveserver.mappath(data.xml)
- setXfpath =何もない
- setXFolder = Nothing
- setdoc =何もない
- 'サブフォルダーオブジェクトを作成しました
- setobjsubfolders = objfolder.subfolders
- 'サブフォルダーを再帰的に通話します
- foreachobjsubfolderinobjsubfolders
- pathpathname = path ++ objsubfolder.name
- Bianli(PathName)
- 次
- setobjfolder =何もない
- setobjsubfolders =何もない
- setfso =何もない
- エンド機能
- Dimdoc、objpi
- 'ファイルへの書き込みの準備をする空のXMLファイルを作成します
- setdoc = server.createobject(msxml2.domdocument)
- doc.async = false
- setobjpi = doc.createprocessinginstruction(xml、version = '1.0'encoding =' utf-8 ')
- doc.insertbeforeobjpi、doc.childnodes(0)
- doc.AppendChild(doc.createelement(z-blog))
- doc.saveserver.mappath(data.xml)
- setobjpi =何もない
- setdoc =何もない
- ビアンリ(cpathname)
- EndTime = Timer()
- %>
- ページの実行時間:<%= formatnumber(((終了時間)、3)%>秒
- '==================================================
- 'ファイル2
- 'install.asp
- 'このファイルは、Z-Blogインストールファイルから変更されます
- '==================================================
- <%@codepage = 65001%>
- <%optionexplicit%>
- <%onerrorresumenext%>
- <%response.charset = utf-8%>
- <html>
- <head>
- <Title>ファイル開梱プログラム</title>
- </head>
- <body>
- <textarename = contentCols = 90rows = 20style = border:0px; overflow:auto; border-width:0px; width:100%; background-color:#e8f3ff; scrolling = auto>
- <%
- dimstrlocalpath
- '現在のフォルダーへの物理的なパスを取得します
- strlocalpath = left(request.servervariables(path_translated)、instrrev(request.servervariables(path_translated)、))))
- dimstrdbpath
- dimobjxmlfile
- dimobjnodelist
- dimobjfso
- DimobjStream
- ディミ、j
- setobjxmlfile = server.createobject(microsoft.xmldom)
- objxmlfile.load(server.mappath(data.xml))
- ifobjxmlfile.readystate = 4then
- ifobjxmlfile.parseerror.errorcode = 0then
- setobjnodelist = objxmlfile.documentlement.selectnodes(// folder/path)
- setobjfso = createObject(scripting.filesystemObject)
- j = objnodelist.length-1
- fori = 0toj
- ifobjfso.folderexists(strlocalpath&objnodelist(i).text)= falsethen
- objfso.createfolder(strlocalpath&objnodelist(i).text)
- endif
- respons.writecreateディレクトリ&objnodelist(i).text&vbcrlf
- Response.Flush
- 次
- setobjnodelist = objxmlfile.documentlement.selectnodes(// file/path)
- j = objnodelist.length-1
- fori = 0toj
- setobjstream = createObject(adodb.stream)
- withoutbjstream
- .type = 1
- 。開ける
- .writeobjnodelist(i).nextsibling.nodetypedValue
- .savetofilestrollocalpath&objnodelist(i).text、2
- Response.writeリリースファイル&objnodelist(i).text&vbcrlf
- Response.Flush
- 。近い
- 終わりに
- setobjstream =何もない
- 次
- endif
- endif
- %>
- </textarea>
- <%response.write <script> alert( 'ファイルは完成しました!'); </script>%>
共有:ASP開発における機能の有用なコレクション(1) ASP開発における有用な機能のコレクションは非常に便利です!みんながそれを維持してくれることを願っています! % '************************************************************************************************************************************************************************************************