VBScript - VBScript

VBScript
Formato file VBScrip icon.png
Sviluppatore Microsoft
Apparso per la prima volta 1996 ; 25 anni fa ( 1996 )
Rilascio stabile
5.8
OS finestre
Estensioni dei nomi dei file .vbs , .vbe , wsf , .wsc ( asp , .hta , .htm , .html )
Sito web docs .microsoft .com /en-us /versioni-precedenti /t0aew7h6(v=vs.85 )
Principali implementazioni
Windows Script Host , pagine Active Server
Influenzato da
Visual Basic
influenzato
Windows PowerShell

VBScript ( " Microsoft Visual Basic Scripting Edition" ) è un linguaggio di scripting attivo sviluppato da Microsoft e modellato su Visual Basic . Consente agli amministratori di sistema di Microsoft Windows di generare potenti strumenti per la gestione dei computer con gestione degli errori , subroutine e altri costrutti di programmazione avanzata. Può dare all'utente il controllo completo su molti aspetti del proprio ambiente informatico.

VBScript utilizza il Component Object Model per accedere agli elementi dell'ambiente all'interno del quale è in esecuzione; ad esempio, il FileSystemObject (FSO) viene utilizzato per creare, leggere, aggiornare ed eliminare file . VBScript è stato installato per impostazione predefinita in ogni versione desktop di Microsoft Windows da Windows 98 ; in Windows Server da Windows NT 4.0 Option Pack ; e opzionalmente con Windows CE (a seconda del dispositivo su cui è installato).

Uno script VBScript deve essere eseguito all'interno di un ambiente host , di cui ne esistono diversi forniti con Microsoft Windows, tra cui: Windows Script Host (WSH), Internet Explorer (IE) e Internet Information Services (IIS). Inoltre, l'ambiente di hosting VBScript è integrabile in altri programmi, tramite tecnologie come Microsoft Script Control ( msscript.ocx ).

Storia

VBScript è iniziato come parte delle tecnologie Microsoft Windows Script, lanciate nel 1996. Questa tecnologia (che includeva anche JScript ) era inizialmente destinata agli sviluppatori web. Per un periodo di poco più di due anni, VBScript è passato dalla versione 1.0 alla 2.0 e in quel periodo ha ottenuto il supporto degli amministratori di sistema Windows alla ricerca di uno strumento di automazione più potente del linguaggio batch sviluppato per la prima volta nei primi anni '80. Il 1 agosto 1996, Internet Explorer è stato rilasciato con funzionalità che includevano VBScript.

Nella versione 5.0, la funzionalità di VBScript è stata aumentata con nuove funzionalità incluse le espressioni regolari ; classi ; la dichiarazione With ; le funzioni Eval , Execute ed ExecuteGlobal per valutare ed eseguire comandi di script creati durante l'esecuzione di un altro script; un sistema puntatore a funzione tramite GetRef e il supporto Distributed COM (DCOM).

Nella versione 5.5, i SubMatches sono stati aggiunti alla classe delle espressioni regolari in VBScript, per consentire finalmente agli autori di script di catturare il testo all'interno dei gruppi dell'espressione. Quella capacità era già disponibile in JScript.

Con l'avvento di .NET Framework , il team di scripting ha preso la decisione di implementare il supporto futuro per VBScript all'interno di ASP.NET per lo sviluppo Web e quindi non sarebbero state sviluppate nuove versioni del motore VBScript. D'ora in poi sarà supportato dal Sustaining Engineering Team di Microsoft , che è responsabile delle correzioni dei bug e dei miglioramenti della sicurezza. Per gli amministratori di sistema Windows, Microsoft suggerisce di eseguire la migrazione a Windows PowerShell . Tuttavia, il motore di script continuerà a essere fornito con le versioni future di Microsoft Windows e IIS.

Ambienti

Quando viene utilizzato per lo sviluppo Web lato client in Microsoft Internet Explorer , VBScript ha una funzione simile a JavaScript . Viene utilizzato per scrivere funzioni eseguibili che sono incorporate o incluse da pagine HTML e interagiscono con il Document Object Model (DOM) della pagina, per eseguire attività non possibili nel solo HTML. Tuttavia, altri browser Web come Firefox e Opera e di recente Chrome non dispongono del supporto integrato per VBScript. Ciò significa che, laddove sono richiesti scripting lato client e compatibilità tra browser, gli sviluppatori di solito scelgono JavaScript rispetto alla maggior parte degli altri linguaggi di programmazione, come VBScript.

VBScript viene utilizzato anche per l'elaborazione lato server di pagine Web, in particolare con Microsoft Active Server Pages (ASP). Il motore ASP e la libreria dei tipi, asp.dll , richiama vbscript.dll per eseguire gli script VBScript. VBScript incorporato in una pagina ASP è contenuto all'interno di opzioni di contesto <% e %>. L'esempio seguente di una pagina ASP con VBScript visualizza l'ora corrente nel formato 24 ore, ma viene anche utilizzato come script predefinito per i messaggi di errore con i sistemi operativi Windows.

 <% Option Explicit %>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 	<head>
 		<title>VBScript Example</title>
 	</head>
 	<body>
 		<div><% 
 			' Grab current time from Now() function.
 			' An '=' sign occurring after a context switch (<%) is shorthand 
 			' for a call to the Write() method of the Response object.
 			Dim timeValue : timeValue = Now %>
 			The time, in 24-hour format, is 
 			<%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>.
 		</div>
 	</body>
 </html>

VBScript può essere utilizzato anche per creare applicazioni che vengono eseguite direttamente su una workstation che esegue Microsoft Windows . L'esempio più semplice è uno script che utilizza l'ambiente Windows Script Host (WSH). Tale script si trova solitamente in un file autonomo con estensione .vbs . Lo script può essere richiamato in due modi: Wscript.exe viene utilizzato per visualizzare l'output e ricevere input tramite una GUI, come finestre di dialogo e di input. Cscript.exe viene utilizzato in un ambiente a riga di comando .

VBScript può essere incluso in altri due tipi di file di script: Windows Script Files e HTML Applications .

Un file di script di Windows (WSF) ha uno stile dopo XML. Un file WSF può includere più file VBS. Di conseguenza, i file WSF forniscono un mezzo per il riutilizzo del codice: una libreria di classi o funzioni può essere archiviata in uno o più .vbsfile, che possono essere inclusi nei .wsffile, in modo che la funzionalità possa essere riutilizzata in modo modulare. I file hanno estensione .wsfe possono essere eseguiti utilizzando wscript.exe o cscript.exe , proprio come un .vbsfile.

Un'applicazione HTML (HTA) ha lo stile dopo HTML. L'HTML nel file viene utilizzato per generare l'interfaccia utente e per la logica del programma viene utilizzato un linguaggio di script come VBScript. I file hanno estensione .htae possono essere eseguiti utilizzando mshta.exe .

VBScript (e JScript) può essere utilizzato anche in un componente Windows Script, una classe di script abilitata per ActiveX che può essere richiamata da altre applicazioni abilitate per COM . Questi file hanno estensione .wsc .

VBScript è semplice da creare e può essere codificato utilizzando un editor di testo facile da usare come Blocco note. Un semplice VBScript salvato .vbsdall'estensione può essere eseguito su un sistema Windows facendo doppio clic su di esso.

Funzionalità

Caratteristiche del linguaggio

Il linguaggio di VBScript è modellato su Visual Basic e quindi può essere rivisto utilizzando categorie simili: procedure, strutture di controllo, costanti, variabili, interazione dell'utente, gestione degli array, funzioni data/ora, gestione degli errori, funzioni matematiche, oggetti, espressioni regolari, manipolazione delle stringhe e così via.

Di seguito sono riportati alcuni punti chiave di introduzione al linguaggio VBScript di Microsoft

Una "procedura" è il costrutto principale in VBScript per separare il codice in moduli più piccoli. VBScript distingue tra una funzione, che può restituire un risultato in un'istruzione di assegnazione, e una subroutine, che non può. I parametri sono posizionali e possono essere passati per valore o per riferimento.

Le strutture di controllo includono i soliti cicli Do iterativi e condizionali, istruzioni If-Then-Else e istruzioni Case, con alcune varianti più complesse, come ElseIf e strutture di controllo nidificate.

Come aiuto per la memoria nella codifica, e certamente per la leggibilità, ci sono un gran numero di costanti, come True e False per i valori logici, vbOKCancel e vbYesNo per i codici MsgBox, vbBlack e vbYellow per i valori di colore, vbCR per il carattere di ritorno a capo, e molti altri.

Le variabili hanno il tipo " Variant " per impostazione predefinita, ma è possibile (e talvolta necessario) forzare un tipo particolare (intero, data, ecc.) utilizzando le funzioni di conversione (CInt, CDate, ecc.)

L'interazione dell'utente è fornita attraverso le funzioni MsgBoxe InputBoxche forniscono un semplice formato di finestra di dialogo per i messaggi e l'input. Entrambe le funzioni visualizzano messaggi di richiesta, con la prima che restituisce una risposta standard e la seconda che restituisce un testo o un valore numerico fornito dall'utente. Per un'interazione GUI più elaborata con i controlli, VBScript può essere utilizzato in combinazione con HTML, ad esempio in un'applicazione HTML . I moduli basati su eventi non sono supportati come in Visual Basic o Visual Basic for Applications .

I nomi non fanno distinzione tra maiuscole e minuscole. Tuttavia, è considerata una procedura consigliata per lo stile VBScript essere coerente e utilizzare le maiuscole in modo giudizioso.

Funzionalità VBScript

Quando è ospitato da Windows Script Host , VBScript fornisce numerose funzionalità comuni ai linguaggi di scripting, ma non disponibili da Visual Basic 6.0 . Queste funzionalità includono l'accesso diretto o facile a:

  • Argomenti della riga di comando con e senza nome,
  • Stdin e stdout , che potrebbero essere reindirizzati,
  • WSH.Echo che scrive sulla console e non può essere reindirizzato,
  • WSH.ExitCode che può essere testato da file batch DOS o dal processo che ha richiamato il file di script,
  • stampanti di rete,
  • Condivisioni di rete,
  • Cartelle speciali, ad es. Desktop, Preferiti, Documenti personali e così via,
  • Informazioni sull'utente della rete, come l'appartenenza a un gruppo,
  • Metodi per l'esecuzione in runtime del testo definito in runtime: Eval ed Execute,
  • Metodi per l'esecuzione di script su macchine remote,
  • Strumentazione gestione Windows (WMI)
  • Funzionalità per incorporare un motore VBScript in altre applicazioni, utilizzando un linguaggio ampiamente conosciuto.

CScript, il corridore della riga di comando, fornisce opzioni per:

  • Modalità interattiva o batch,
  • Richiamando la modalità di debug dalla riga di comando,
  • Segnalazione di errori compreso il numero di riga.

Funzionalità aggiuntive

La gestione del file system, la modifica dei file e le operazioni di streaming del testo sono implementate con Scripting Runtime Library scrrun.dll. Ciò fornisce oggetti come FileSystemObject, File e TextStream, che espongono il file system di Windows al programmatore.

File binario e I/O di memoria sono forniti dalla classe "ADODB.Stream", che può essere utilizzata anche per i costruttori di stringhe (per evitare un'eccessiva concatenazione di stringhe, che può essere costosa) e per interconvertire matrici e stringhe di byte. L'accesso al database è reso possibile tramite ActiveX Data Objects (ADO) e la metabase IIS può essere manipolata utilizzando la funzione GetObject() con autorizzazioni sufficienti (utile per creare e distruggere siti e directory virtuali). I file e gli schemi XML possono essere manipolati con le interfacce di programmazione dell'applicazione della libreria XML di Microsoft ( msxml6.dll , msxml3.dll ), che possono essere utilizzate anche per recuperare contenuto dal World Wide Web tramite gli oggetti XMLHTTP e ServerXMLHTTP (stringhe di classe "MSXML2. XMLHTTP.6.0" e "MSXML2.ServerXMLHTTP.6.0", rispettivamente).

La funzionalità può essere aggiunta anche tramite le tecnologie ActiveX. I problemi di sicurezza hanno portato molti controlli ActiveX a essere inseriti nella lista nera nel processo di Internet Explorer da Microsoft, che distribuisce il killbit tramite aggiornamenti di sicurezza mensili di Windows per disabilitare il codice vulnerabile di Microsoft e di terze parti.

I programmatori possono utilizzare l'estensibilità tramite moduli COM (ActiveX) per dotare in modo specifico Script Host e VBScript delle funzioni richieste o desiderate. Il componente "VTool", ad esempio, aggiunge una serie di finestre di dialogo, accesso ai file binari e altre funzionalità.

Strumenti di sviluppo

Microsoft non rende regolarmente disponibile un IDE ( Integrated Development Environment ) per VBScript, sebbene Microsoft Script Editor sia stato fornito in bundle con alcune versioni di Microsoft Office.

Per scopi di debug, il Microsoft Script Debugger può ancora essere utilizzato nelle versioni correnti di Windows, anche se lo strumento non è stato aggiornato da anni. Consente all'utente di impostare punti di interruzione nel codice VBScript ma l'interfaccia utente è più che goffa.

Sono disponibili debugger VBScript da fonti di terze parti e molti editor di testo offrono l' evidenziazione della sintassi per la lingua.

Durante l'esecuzione, quando si verifica un errore, l'host dello script emette un messaggio che indica il tipo di errore e il numero della riga in questione.

Usi

Sebbene VBScript sia un linguaggio di scripting generico, sono degne di nota diverse aree di utilizzo particolari. Innanzitutto, è ampiamente utilizzato dagli amministratori di sistema nell'ambiente Microsoft. Questa situazione potrebbe cambiare con la promozione e il maggiore utilizzo di PowerShell . In secondo luogo, VBScript è il linguaggio di scripting per Quick Test Professional , uno strumento di automazione dei test. Una terza area da notare è l'adozione di VBScript come linguaggio di scripting interno per alcune applicazioni embedded, come le interfacce operatore industriali e le interfacce uomo-macchina. Il DBMS gerarchico InterSystems Caché (che affonda le sue radici nel linguaggio MUMPS ) supporta anche un'implementazione di VBScript, Cache BASIC, per la programmazione del codice memorizzato.

VBScript omette diverse funzioni utili dell'intero Visual Basic, come la digitazione forte, l'intercettazione estesa degli errori e la capacità di passare un numero variabile di parametri a una subroutine. Tuttavia, il suo utilizzo è relativamente diffuso perché è di facile apprendimento e perché chi implementa codice nel linguaggio non deve pagare royalties a Microsoft purché venga riconosciuto il marchio VBScript. Quando un'organizzazione concede in licenza Visual Basic for Applications (VBA) da Microsoft, come hanno fatto aziende come Autodesk, StatSoft, Great Plains Accounting e Visio (successivamente acquisita da Microsoft), è consentito ridistribuire l'intero ambiente di scrittura e debug del codice VBA con il suo prodotto.

VBScript viene utilizzato al posto di VBA come linguaggio macro di Outlook 97.

VBScript può essere efficacemente utilizzato per automatizzare le attività quotidiane dell'ufficio e il monitoraggio nell'ambiente basato su Windows. È uno strumento di prima scelta per amministratori di server, utenti di MS Office e altri collaboratori tecnologici. Può anche essere utilizzato in collaborazione con ADODB ActiveX Data Objects (ADODB) per un'efficace connettività del database.

VBScript può essere utilizzato anche per creare malware e virus, come il worm ILOVEYOU che si diffonde tramite allegati di posta elettronica in Outlook 97 e costa miliardi di dollari. Questo potrebbe anche essere il motivo principale per cui alcuni browser come Firefox , Opera e Chrome non lo supportano.

Guarda anche

Riferimenti

link esterno