當前位置:首頁 » 網頁前端 » 腳本語言沒有環境
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

腳本語言沒有環境

發布時間: 2022-05-30 17:09:55

『壹』 請問VBS腳本的執行需要什麼環境嗎

首先,我的vbs文件關聯已經被「豪傑」奪取了。我雙擊Deploy.vbs就會打開豪傑,比較郁悶。但是我用了打開方式,試了瀏覽器、cmd,都無濟於事。 今天,我想到這個問題後,就有想法去Microsoft的News Group上去問一問。然後又去了CSDN的全文檢索。果然很爭氣,我的關鍵字只是vbs,執行,就找到了一大堆我想要的東東。了解到用wscript.exe來執行這個文件。 在cmd里敲了wscript.exe Deploy.vbs,但是返回錯誤是 There is no script engine for file extension '.vbs'。這個時候我想到了google。果然搜到了不少有用的信息,其中第一條里我就找到了解決辦法。 原因是我的vbs關聯已經丟失了,必須顯示指定。 cmd中敲入 wscript.exe //e:vbscript Deploy.vbs。果然成功!!! 總結:用wscript.exe 執行類似vbs這類的腳本文件。如果文件關聯丟失。可以用//e:vbscript. 附上我找到的很有幫助的文章。 一、什麼是WSH? WSH是Windows Scripting Host(Windows腳本主機)的縮略形式。WSH這個概念最早出現於Windows 98操作系統,是一個基於32 位 Windows 平台、並獨立於語言的腳本運行環境。比如:你自己編寫了一個腳本文件,如後綴為 .vbs 或 .js 的文件,然後在 Windows 下雙擊 並執行它,這時,系統就會自動調用一個適當的程序來對它進行解釋並執行,而這個程序,就是 Windows Scripting Host,程序執行文件名為 Wscript.exe (若是在DOS命令提示符下,則為 Cscript.exe)。 想知道自己的機器上有沒有WSH嗎?查看一下你的機器里有沒有「Wscipt.exe」或者「Cscript.exe」這兩個文件就可以了。如果找到,恭 喜你!你已經安裝了WSH。否則,自己手動安裝吧: 在Windows 98環境下,WSH是作為操作系統的一個組件自動安裝的,如果不慎丟失了這個組件,可以從依次打開「控制面板-->添加/刪除程 序--〉Windows安裝程序--〉附件」,然後將「Windows Scripting Host」前的劃上「√」,再確定即可完成WSH組件的安裝。 二、腳本語言與WSH的關系 大家知道,腳本語言(包括JavaScript和VBscript語言等)經常會被植入網頁之中(其中包括 HTML 頁面客戶機端和 ASP 頁面伺服器端) 。對於植入 HTML 頁面的腳本,其所需的解析引擎會由 IE 這樣的網頁瀏覽器載入;對於植入 ASP 頁面的腳本,其所需的解析引擎會由 IIS( Internet Information Services)提供。而對於出現在 HTML 和 ASP 頁面之外的腳本(它們常以獨立的文件形式存在),就需要經由 WSH 來 處理了。需要說明的是:WSH 要想正常工作,還要安裝IE 3.0 或更高版本的 IE,因為 WSH 在工作時會調用 IE 中的 VBScript 和 JavaScript 解析引擎。 [未結束][iba_page]在這些被植於網頁的腳本語言中,絕大多數是與網路安全無關的。但也有少數別有用心的好事 者,把一些嚴重危及網路安全的代碼(我們常常稱之為「惡意代碼」,他們通常都要通過修改注冊表達到「惡意」的目的!),混放在正常的 腳本之中,常常讓我們防不勝防。但是,如果我們了解一點關於腳本語言的知識,這些「伎倆」都是非常容易識破的。還是讓我們從幾個簡單 的實例開始吧…… 三、WSH應用舉例 WSH可以處理腳本程序,怎樣閱讀和編寫WSH的腳本源文件呢?只要你有一點Basic(會VB的編程更好,呵呵)語言的基礎,學會看懂WSH腳 本語言的程序並不是一件難事。去C:WINDOWSSAMPLESWSH目錄以下將看看吧!裡面提供了幾類經典的腳本例子,而且分別提供了VBScript和 JavaScript兩個版本,我們只要用記事本打開它們並仔細研究就不難學到一些基本的WSH應用。 你只需在記事本中依次輸入以下每個實例中的代碼,並保存為相應的「*.vbs」文件,雙擊這個文件,你就可以看到相應的效果了。

『貳』 lua腳本語言環境與全局環境以及錯誤處理的理解

2.2 – 環境與全局環境
後面在 §3.2 以及 §3.3.3 會討論, 引用一個叫 var 的自由名字(指在任何層級都未被聲明的名字) 在句法上都被翻譯為 _ENV.var 。 此外,每個被編譯的 Lua 代碼塊都會有一個外部的局部變數叫 _ENV (參見 §3.3.2), 因此,_ENV 這個名字永遠都不會成為一個代碼塊中的自由名字。
在轉譯那些自由名字時,_ENV 是否是那個外部的局部變數無所謂。 _ENV 和其它你可以使用的變數名沒有區別。 這里特別指出,你可以定義一個新變數或指定一個參數叫這個名字。 當編譯器在轉譯自由名字時所用到的 _ENV , 指的是你的程序在那個點上可見的那個名為 _ENV 的變數。 (Lua 的可見性規則參見 §3.5)
被 _ENV 用於值的那張表被稱為 環境。
Lua 保有一個被稱為 全局環境 特別環境。它被保存在 C 注冊表 (參見 §4.5)的一個特別索引下。 在 Lua 中,全局變數 _G 被初始化為這個值。 (_G 不被內部任何地方使用。)
當 Lua 載入一個代碼塊,_ENV 這個上值的默認值就是這個全局環境 (參見 load)。 因此,在默認情況下,Lua 代碼中提及的自由名字都指的全局環境中的相關項 (因此,它們也被稱為 全局變數 )。 此外,所有的標准庫都被載入入全局環境,一些函數也針對這個環境做操作。 你可以用 load (或 loadfile)載入代碼塊,並賦予它們不同的環境。 (在 C 里,當你載入一個代碼塊後,可以通過改變它的第一個上值來改變它的環境。)
2.3 – 錯誤處理
由於 Lua 是一門嵌入式擴展語言,其所有行為均源於宿主程序中 C 代碼對某個 Lua 庫函數的調用。 (單獨使用 Lua 時,lua 程序就是宿主程序。) 所以,在編譯或運行 Lua 代碼塊的過程中,無論何時發生錯誤, 控制權都返回給宿主,由宿主負責採取恰當的措施(比如列印錯誤消息)。
可以在 Lua 代碼中調用 error 函數來顯式地拋出一個錯誤。 如果你需要在 Lua 中捕獲這些錯誤, 可以使用 pcall 或 xpcall 在 保護模式 下調用一個函數。
無論何時出現錯誤,都會拋出一個攜帶錯誤信息的 錯誤對象 (錯誤消息)。 Lua 本身只會為錯誤生成字元串類型的錯誤對象, 但你的程序可以為錯誤生成任何類型的錯誤對象, 這就看你的 Lua 程序或宿主程序如何處理這些錯誤對象。
使用 xpcall 或 lua_pcall 時, 你應該提供一個 消息處理函數 用於錯誤拋出時調用。 該函數需接收原始的錯誤消息,並返回一個新的錯誤消息。 它在錯誤發生後棧尚未展開時調用, 因此可以利用棧來收集更多的信息, 比如通過探知棧來創建一組棧回溯信息。 同時,該處理函數也處於保護模式下,所以該函數內發生的錯誤會再次觸發它(遞歸)。 如果遞歸太深,Lua 會終止調用並返回一個合適的消息。

『叄』 腳本語言分幾種

腳本語言 有很多種,
一、瀏覽器中的腳本語言主要就是JavaScript了,之前還有過別的比如vbscript 以及 flash動畫中用到的 ActionScript等。
二、非瀏覽器中的腳本語言,或者說是服務端的腳本語言,有的用在web伺服器端,比如php,asp,JavaScript(也可以用在伺服器)還有可以內嵌到應用程序中的,因為程序編譯後是不容易改變的,如果想在程序編譯好後需經常調整程序的行為,比如游戲伺服器,經常會調整任務獎勵,邏輯演算法等的會在游戲服務端內嵌入腳本語言 lua等。
三、腳本語言還有很多很多,你提到的 cgi不是語言,這是一種擴展web伺服器的方法吧,通過cgi提供程序可以讓web伺服器提供更多的功能,php就是通過cgi的方式提供給web伺服器的,你也可以用c寫一個cgi模塊讓web伺服器去調用。
四、系統中也會有腳本語言,比如windows的 bat文件就是腳本語言編寫,你用記事本寫入命令,然後另存為bat文件 滑鼠雙擊就可以執行,還有 vbs,linux也有自己腳本語言。
腳本語言就是 不用編譯的語言,他是由解釋器讀一行執行一行的,性能很差但靈活性很高這就是他的特點,一般用在web,瀏覽器,或者用嵌入到c c++ c#等編譯程序中來執行一些簡單的需要經常變動邏輯配置。
與腳本語言不同的就是編譯語言了,C C++ C# java 等這些 不編譯是不能運行的,必須要將其編譯為二進制或者是特定平台的中間碼才能運行,java是語言也是平台可以說java運行在Java平台上(Java虛擬機),C#是語言運行在net或netcore平台。c c++直接編譯為二進制運行。

『肆』 什麼是腳本語言,有哪些腳本語言,它們之間的區別

什麼叫腳本 JAVA、C++、C、VB......都代表編程語言,而.net等其它都叫平台。
腳本語言就是網頁里JSP,JavaScript等等,他們有的編程語言就是Java

腳本script是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。各類腳本目前被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當我們點擊網頁上的E-mail地址時能自動調用Outlook Express或Foxmail這類郵件軟體,就是通過腳本功能來實現的。又如洪恩網站�http�//www.hongen.com一些網頁的英文新聞內容旁會有一個三角符號,點擊它就可以聽到英文誦讀,這也是腳本在起作用。 也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。

動態程序一般有兩種實現方式,一是二進制方式,一是腳本方式。
二進制方式是先將我們編寫的程序進行編譯,變成機器可識別的指令代碼(如.exe文件),然後再執行。這種編譯好的程序我們只能執行、使用,卻看不到他的程序內容。
腳本簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
我們上面提到的各種動態語言,如ASP、PHP、CGI、JSP等,都是腳本語言。
按目前的服務規則,虛擬主機網站只能採用腳本語言來實現

腳本英文為Script。實際上腳本就是程序,一般都是有應用程序提供的編程語言。應用程序包括瀏覽器(javascript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類。腳本同我們平時使用的VB、C語言的區別主要是:
1、腳本語法比較簡單,比較容易掌握;
2、腳本與應用程序密切相關,所以包括相對應用程序自身的功能;
3、腳本一般不具備通用性,所能處理的問題范圍有限。

腳本就是源程序,就是代碼程序
腳本英文為Script。實際上腳本就是程序,一般都是有應用程序提供的編程語言。應用程序包括瀏覽器(javascript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類

『伍』 關於腳本語言.

腳本比較用得多的是vbscript(.vbs),在網吧這個常用,因為是微軟自家的東西,操作性更強。
javascript,相對來講和vbs是異曲同工的東西。
批處理(就是擴展名為.bat的那種dos命令語句集合)

還有一個非常好用的管理網吧的就是系統自帶的任務計劃,具體操作是:開始-》程序-》附件-》系統工具-》任務計劃,打開就可以設置了。
可以設置每天某個時間運行某個程序,或者某個軟體的。
祝你好運。

『陸』 任何編程語言都需要編程環境嗎

C#與JAVA的相同之處:由於C#與JAVA都是基於C++發展起來的,因此二者之間具有很多相似之處,具體如下:

1、C#和JAVA語言的編譯結果是獨立於計算機和編程語言的,可執行文件可以在受管理的執行

環境中執行;

2、C#和JAVA語言都是採用了自動的垃圾回收機制;

3、C#和JAVA語言都取消了指針操作;

4、C#和JAVA語言都沒有頭文件;

5、C#和JAVA語言都只支持單重繼承,要實現與多重繼承類似的功能,必須通過介面來實現;

6、類都是從Object類派生而來,類的對象通過關鍵字new生成;

7、C#和JAVA語言都支持線程;

8、C#和JAVA語言都沒有全局變數和全局函數,所有的變數和函數都屬於某個類所有;

9、C#和JAVA語言都支持對數組和字元串邊界的嚴格檢查,不會出現邊界溢出的情況;

10、C#和JAVA語言都使用「.」操作符,不再使用「->」和「::」操作符;

11、C#和JAVA語言都將null和bool作為關鍵字;

12、C#和JAVA語言中所有的值都必須先初始化後才能使用;

13、C#和JAVA語言中的if語句都不允許採用整數作為判斷條件;

14、C#和JAVA語言中的try語句塊都可以後接finally語句塊。

C#與JAVA的不同之處:

盡管C#和JAVA有很多相同之處,但是由於二者是兩家不同公司開發的高級程序設計語言,它們又相互獨立,

自成體系,各自具有一些自己特有的特點,下面將C#與JAVA之間的不同之處如下:

1、屬性

對於那些經常使用快速開發工具,如Delphi或者Visual Basic的開發人員來說,屬性是一個非常熟悉的概念。

一般來說,通過getXXX可以讀取屬性的值,而通過setXXX可以設置屬性的值。

JAVA中比較常見的屬性操作語句: foo.setSize(foo.getSize()+1); label.getFont().setBold(true);

c#中比較常見的屬性操作語句: foo.size++; label.font.bold=true;

很明顯,上述的屬性設置方式較JAVA來說更為簡潔,可主讀性也更強。這充分體現了C#簡單的特點。

JAVA對於屬性的定義:public int getSize(){ return size; } public void setSize(int value){ size=value; }

c#對於屬性的定義進行了簡化:public int Size{ get{ return size; } set{size=value; }}

2、index

C#提供index來給對象加上索引的功能,從而用與處理數組類似的方式來處理對象,JAVA語言則不支持index

C#中定義index的典型方式如下:

public Story this[int index]

{

get{return stories[index]; }

set{

if(value!=null){

stories[index]=value

}

}

3、delegate :可以認為是一種類型安全、面向對象的函數指針。

C#使有delegate可以通過一個名字訪問不同的函數,它實現和JAVA中的interface類似的功能,但是它比interface更為好用。

4、event

C#提供對event的直接支持,它通過delegate和event關鍵字實現對事件的處理。event關鍵字隱藏所有delegate方法,運算符「+=」和「-+」允許程序員自由加入或者刪除時間處理程序。

5、enum:枚舉用於指定一系列的對象。

C#通過如下語句來定義和使用枚舉:

定義:public enum Direction{North,East,West,South};

使用:Direction wall=Direction.North;

JAVA不直接支持枚舉,如果要實現和C#相類似的功能,必須先定義一個類

public class Direction{

public final static int NORTH=1;

public final static int EAST=2;

public final static int WEST=3;

public final static int SOUTH=4; }

在定義了Direction類後,JAVA可以通過引用類中的值來使用枚舉:

int wall= Direction.NOTRH;

6、foreach語句

C#提供了標準的for循環,同時還提供了foreach語句(從VB中引入)來循環處理集合中的元素。

JAVA遍歷集合中的所有元素的典型處理方式如下:

while(!collection.isEmpty())

{

Object o=collection.get();

connection.next();



}

C#遍歷集合中的所有元素:foreach(object o in collection){…}

7、統一數據類型:

大多數的高級程序設計語言都有基本數據類型,如整型、浮點類型等。同時,為了更好地滿足實際的需要,對不同的數據類型有不同的處理方式,顯然,如果能夠對簡單數據類型的處理和對復雜數據類型的處理結合在一起,並用一致的方式加以處理的話,無疑會大大提升應用程序設計的效率,增強程序設計的靈活性。

JAVA語言在處理基本數據類型的時候也採取分別處理的策略,但是在基本數據類型的基礎上提供了一系列封裝這些基本數據類型的類,例如:整型(int)被類Integer所封裝,雙精度浮點(double)被類Double封裝。

C#提供了一種和JAVA不同的方式來實現數據類型的統一。事實上,在c#中,即使是int這樣的簡單數據類型在C#內部也是通過一個結構體Int32來實現的,在C#中,可以這樣認為,int只是結構體Int32的一個別名。由於C#中的結構體也繼承自類Object,這樣,Object類中定義的方法,各個結構體也擁有,於是,在C#中可以通過如下的方式來操作整數:int I=5; System.Console.WriteLine(i.ToString());

8、操作符重載

通過操作符重載可以用一種比較自然的方式來操縱各種數據類型,從而大大提升程序的可讀性和靈活性。C#中的「==」操作符在Object類中進行了定義,在Object中定義的==操作符通過比較兩個值的引用來獲得最後的結果。如果使有和集合相關的類,則必須在這樣的類中實現ICompar介面,這個介面中定義了一個方法CompareTo,該方法返回兩個對象的比較結果,在此基礎上,可以進一步定義各個實現比較的操作符,如

「>」、「<」、「>=」、「<=」等。事實上,數字類型(int、long等)可以直接使用這些比較操作符,它們的內部都實現了ICompare介面。

9、多態性

虛似方法提供了多態性的技持。多態意味著派生類可以定義一個和基類中同名的方法。盡管JAVA和C#都支持多態性,但是它們的具體實現方式還是有一定的差別。

在JAVA語言中,默認情況下,基類的對象可以直接調用派生類中的虛似方法,在C#語言中,基類要調用派生類中的虛似方法必須通過virtual關鍵字來實現。同時,在C#語言中,一個方法要重載基類中的同名方法,還必須通過關鍵字override來實現。在C#中實現多態的典型程序如下:

Class B{ public virtual void foo{}}

Class D:B{ public overried void foo(){}}

以上只是簡單地比較了C#和JAVA之間的異同,事實上,這二者之間的比較遠不止上面所介紹的內容,要學好這兩種語言,需要經過大量的實踐工作,在實踐中區分開兩種語言

『柒』 腳本語言有哪些

  • 腳本語言:腳本語言又被稱為擴建的語言,或者動態語言,是一種編程語言,用來控制軟體應用程序,腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。

  • 語言分類:

  1. Shell腳本:此類腳本用於自動化工作控制,即啟動和控制系統程序的行為。大多的腳本語言解釋器也同時是命令行界面,如Unix shell和MS-DOS COMMAND.COM。其他如AppleScript,可以為系統增加腳本環境,但沒有命令行界面。具體分類有:

    4NT

    AppleScript

    ARexx (Amiga Rexx)

    bash

    csh

    DCL

    JCL

    ksh

    Cmd.exe batch (Windows, OS/2)

    Command.com batch (DOS)

    REXX

    tcsh

    sh

    Winbatch

    Windows PowerShell

    Windows Script Host

    zsh

  2. GUI腳本:GUI出現帶來一種專業的控制計算機的腳本語言。它在用戶和圖形界面,菜單,按鈕等之間互動。它經常用來自動化重復性動作,或設置一個標准狀態。理論上它可以用來控制運行於基於GUI的計算機上的所有應用程序,但實際上這些語言是否被支持還要看應用程序和操作系統本身。當通過鍵盤進行互動時,這些語言也被稱為宏語言。

    具體分類有:

    AutoHotkey

    AutoIt

    Expect

  3. 應用程序定製:許多大型的應用程序都包括根據用戶需求而定製的慣用腳本語言。同樣地,許多電腦游戲系統使用一種自定義腳本語言來表現NPC(non-player character,non-playable character,non-player class)和游戲環境的預編程動作。此類語言通常是為一個單獨的應用程序所設計,雖然它們貌似一些通用語言(如QuakeC, modeled after C),但它們有自定義的功能。具體分類:

    Action Code Script

    ActionScript

    AutoLISP

    BlobbieScript

    Emacs Lisp

    Game Maker Language

    HyperTalk

    IPTSCRAE

    IRC script

    Lingo

    Maya Embedded Language

    mIRC script

    NWscript

    QuakeC

    UnrealScript

    Visual Basic for Applications

    VBScript

    ZZT-oop

  4. web編程腳本:應用程序定製的腳本語言中有一種重要的類別,用於提供WEB頁面的自定義功能。它專業處理互聯網通信,使用網頁瀏覽器作為用戶界面。當然,大多現代WEB編程語言都比較強大可以做一些通用編程。具體分類:

    ColdFusion (Application Server)

    Lasso

    Miva

    SMX

    IPTSCRAE-一些網路開發團隊用於創建論壇的工具

  5. 文本處理語言:處理基於文本的記錄是腳本語言最早的用處之一。如Unix's awk最早是設計來幫助系統管理員處理調用UNIX基於文本的配置和LOG文件。PERL最早是用來產生報告的,現在它已經成了全面成熟的語言。

    具體分類:

    Awk

    Perl

    sed

    XSLT

  6. 通用動態語言:一些語言,比如Perl,從一門腳本語言發展成了更通用的編程語言。由於「解釋執行,內存管理,動態」等特性,它們仍被稱為腳本語言。但它們已經用於應用程序編寫,用戶也不把它們看作腳本語言。

    APL

    Dao

    Dylan

    Groovy

    Lua

    MUMPS (M)

    newLISP

    Nuva

    Perl

    PHP

    Python

    Ruby

    Scheme

    Smalltalk

    SuperCard

    Tcl (Tool command language)

  7. 程序語言:少數的語言被設計通過嵌入應用程序來取代應用程序定製的腳本語言。開發者(如使用C等其它系統語言)包入使腳本語言可以控制應用程序的hook。這些語言和應用程序定製的腳本語言是同種用途,但優點在於可以在應用程序之間傳遞一些技能。

    具體分類:

    Ch (C/C++ interpreter)

    Dao

    ECMAScript 亦稱 DMDScript, JavaScript, JScript

    GameMonkeyScript

    Guile

    ICI

    Lua

    RBScript (REALbasic Script)

    Squirrel

    Tcl

    Z-Script

  8. JavaScript直到現在仍然是網頁瀏覽器內的主要編程語言,它的ECMAScript標准化保證了它成為流行的通用嵌入性語言。Tcl作為一種擴展性語言而創建,但更多地被用作通用性語言,就如同Python, Perl, Ruby一樣。Q語言是在VBScript的基礎上發展起來,專用於按鍵精靈系列產品,成為一門更接近「漢語」習慣的腳本語言。

    BeanShell (scripting for Java)

    CobolScript

    Escapade (server side scripting)

    Euphoria

    F-Script

    Ferite

    Groovy

    Gui4Cli

    Io

    KiXtart

    Mondrian

    Object REXX

    Pike

    Pliant

    REBOL

    ScriptBasic

    Shorthand Language

    Simkin

    Sleep

    StepTalk

    Visual DialogScript

『捌』 在Windows系統什麼編程語言寫的程序不依賴環境

如果單獨從不依賴環境這點來看的話,沒有任何編程語言不依賴環境。任何的編程語言(腳本語言除外)都需要運行時的支持,所以不依賴環境的語言並不存在。只是有些環境已經系統預裝完畢(比如 C++ 運行時以及 Windows Vista 之後都會預裝 .Net Framework),不需要再手動去安裝而已,並不代表不用環境就能運行。
至於樓上說的 bat、PowerShell、VBA,這些都屬於是腳本語言,他們都有各自的解釋器,並且這三個嚴格來講都不算是編程語言——bat 和 PowerShell 算是批處理語言(雖然 Power Shell 擁有一些腳本語言能實現的功能),而 VBA 則屬於腳本語言,並且還是需要 Office 這個「環境」去支持。

『玖』 腳本語言的特點

腳本或腳本語言是一種特殊運行時環境的編程語言,可以自動執行任務[1];這些任務可以由操作員一個接一個地執行。腳本語言經常被解釋(而不是編譯)。
原語通常是基本任務,或者API函數調用,這種語言允許它們被組合成更多的程序。可以通過腳本自動化的環境包括軟體應用程序、網頁瀏覽器中的網頁、操作系統shell的使用、嵌入式系統以及許多游戲。腳本語言可以被視為特定環境的特定領域語言;在編寫應用程序腳本的情況下,它也稱為擴展語言。腳本語言有時也被稱為非常高級的編程語言,因為它們在高抽象層次上運行,或者被稱為控制語言,特別是針對大型機上的作業控制語言。
術語「腳本語言」也泛指動態高級通用語言,如Perl[2]、PowerShell、Python和Tcl[3],術語「腳本」通常用於這些語言中的小程序(最多幾千行代碼),或用於特定領域的語言,如文本處理語言sed和AWK。這些語言中的一些最初是為在特定環境中使用而開發的,後來發展成可移植的特定領域語言或通用語言。相反,許多通用語言都有用作腳本語言的方言。本文討論了針對特定環境的狹義語言中的腳本語言。
腳本語言的范圍分布從非常小且非常特定的領域的語言到用於腳本的通用編程語言。針對特定環境的腳本語言的標准示例包括:Bash,針對Unix或類似於Unix的操作系統;ECMAScript (JavaScript),用於網路瀏覽器;和 Visual Basic宏語言,針對微軟辦公軟體。Lua是一種被設計和廣泛用作擴展語言的語言。Python是一種通用語言,也通常用作擴展語言,而ECMAScript仍然主要是網路瀏覽器的腳本語言,但也用作通用語言。Lisp的Emacs Lisp方言(供Emacs編輯器使用)和Visual Basic的Visual Basic 宏語言方言是通用語言腳本語言方言的示例。一些游戲系統,特別是第二人生虛擬世界和鐵路模擬器專營權,已經通過腳本擴展( Linden腳本語言和 TrainzScript)在功能上得到廣泛擴展。在像 Wesnoth這樣的其他游戲中,玩家玩的各種實際游戲都是由其他用戶編寫的腳本。

『拾』 有哪些腳本語言不需要搭建環境除了js和vbs

autohotkey之類的,也甭搭建,安裝了就帶環境可以跑了(實際上就是不用配置而已)。
腳本語言都得有語言環境才能被解釋出來運行。
js、vb只是windows下默認裝的ie什麼的已經給帶了執行環境而已。

如果轉到Linux或蘋果系統下,那python等很多腳本語言都是系統自帶環境的。