If WScript.Arguments.UnNamed.Count <> 1 Then Syntax If WScript.Arguments.Named.Count > 1 Then Syntax blnTd = False If WScript.Arguments.Named.Count = 1 Then If UCase( WScript.Arguments.Named( 0 ) ) = "/TD" Then blnTd = True Else Syntax End If End If strISBN = WScript.Arguments.UnNamed( 0 ) strPgTitle = TitleFromHTML( "http://www.amazon.com/gp/product/" & strISBN & "/" ) strPattern = "Amazon.com: (.*): Books: (.*)$" strTitle = RegExpVal( strPattern, strPgTitle, 0 ) strAuthor = RegExpVal( strPattern, strPgTitle, 1 ) If blnTd Then strMsg = strISBN & vbTab & strTitle & vbTab & strAuthor & vbCrLf Else strMsg = vbCrLf & "Title : " & strTitle _ & vbCrLf & "Author : " & strAuthor _ & vbCrLf & "ISBN : " & strISBN End If WScript.Echo strMsg Function RegExpVal( strPattern, strString, idx ) On Error Resume Next Dim regEx, Match, Matches, RetStr Set regEx = New RegExp regEx.Pattern = strPattern regEx.IgnoreCase = True regEx.Global = True Set Matches = regEx.Execute( strString ) RegExpVal = Matches( 0 ).SubMatches( idx ) End Function Function TitleFromHTML( strURL ) Set ie = CreateObject( "InternetExplorer.Application" ) ie.Navigate strURL Do Until ie.ReadyState = 4 WScript.Sleep 10 Loop TitleFromHTML = ie.Document.Title ie.Quit End Function Sub Syntax strMsg = strMsg & vbCrLf & "BookFind.vbs, Version 1.11" & vbCrLf _ & "Display book title and author name for the specified ISBN number." & vbCrLf & vbCrLf _ & "Usage: CSCRIPT //NOLOGO BOOKFIND.VBS isbn [ /TD ]" & vbCrLf & vbCrLf _ & "Where: ""isbn"" is the ISBN (or ASIN) of the book to search for" & vbCrLf _ & " /TD changes the output format to tab delimited" & vbCrLf & vbCrLf _ & "Note: This script uses Amazon's web site to look up author and title." & vbCrLf _ & " To be precise, the data is extracted from the title of the page" & vbCrLf _ & " with URL http://www.amazon.com/gp/product/ followed by the ISBN." & vbCrLf _ & " That means this script will fail when Amazon changes the URLs." & vbCrLf & vbCrLf _ & "Written by Rob van der Woude" & vbCrLf _ & "http://www.robvanderwoude.com" Wscript.Echo( strMsg ) Wscript.Quit( 1 ) End Sub
使用方法: CSCRIPT //NOLOGO BOOKFIND.VBS isbn [ /TD ] Where: "isbn" is the ISBN (or ASIN) of the book to search for /TD changes the output format to tab delimited Note: This script uses Amazon's web site to look up author and title. To be precise, the data is extracted from the title of the page with URL http://www.amazon.com/gp/product/ followed by the ISBN. That means this script will fail when Amazon changes the URLs.