Windows Komut Dosyası Dosya - Windows Script File
| Dosya adı uzantısı | |
|---|---|
| Tarafından geliştirilmiş | Microsoft, |
| formatın Tipi | Komut |
| için Konteyner | Senaryo |
Bir , Windows Script Dosyası ( DSF ) tarafından kullanılan bir dosya türüdür Microsoft Windows Script Host . Bu karıştırma sağlar programlama dillerine JScript ve VBScript tek dosya içinde veya bu gibi diğer betik dilleri Perl , REXX Nesne , Python veya KiXTart kullanıcı tarafından yüklenmiş eğer. Komut edildiği bu tür bir kullanarak birlikte diğer birçok dış komut dosyalarını bağlamak için kullanılabilir srcüzerinde parametreyi <script>benzer bir şekilde etiketi HTML . Windows komut dosyası Dosyalar uzantısına sahip ".WSF". Bir DSF çok temel her komut modülüne başvuru yapan XML dışında bu standartlara bağlı kalarak, aşağıda gösterildiği gibi hiyerarşi <script>etiketleri. "</ Script>" veya içinde "<script>" edebi kullanım <script>etiketleri ve benzeri zorluklardan kullanımı ile ele alınabilir CDATA'da örnekler içinde gösterildiği gibi,.
içindekiler
Hata izolasyon
Bir DSF hataları izole edilmesi için faydalı olabilir. Modüler yapısı başka bir müdahale bir komut dosyası başvurusu önler. İşte yapmaz bir hata ve bir üretir bir modül ile bir DSF örnektir:
<?xml version="1.0" ?>
<job id="Partially works">
<!-- This will not work -->
<script language="VBScript">
' <![CDATA[
WScript.echo 4/0 ' Oh, boy! You cannot divide by zero...
]]>
</script>
<!-- This will work... definitely... -->
<script language="VBScript">
<![CDATA[
WScript.echo "Hello, Scripters!" & vbNewline & _
"Fantastic! It worked!"
' ]]>
</script>
</job>
İlk senaryo modülü hatası "Sıfıra bölme" üretecek. Genellikle bu komut sona neden olur Windows Script Host ama bu modüler yöntem komut devam etmek ve ikinci komut modülü çalıştırmasına izin veriyor.
Karışık dil desteği
Açıklandığı gibi Windows Komut Dosyası, birden çok dili destekler Windows Komut Dosyası referans. Bu dosya biçiminin özelliklerinden biri tek seferde birden fazla kullanabilir olmasıdır. Bu, başka bir kodlama dili itibaren bir kodlama dili kullanımı kodunu olabileceği anlamına gelir. Uzun süredir en unutulmaz örneği VBScript kullanıcıları Microsoft kullanılmasıdır JScript için bir tür isteği hizmet VBScript bu değerler dizisi için yerleşik bir sıralama fonksiyonu yoktur çünkü. VBScript kullanıcıların kendi sıralama yöntemi yazma ya da ADO (gibi mevcut bir nesneden birini ödünç alabilir ActiveX Data Objects ) Recordset veya .NET ( .NET Framework ) ArrayList , ancak bir dizi sıralamak için hızlı yolu yerleşik yöntemini kullanmaktır JScript . İşte bunun nasıl temel bir örnektir:
<?xml version="1.0" ?>
<!-- Mixing JScript and VBScript -->
<job id="SORT-VBScriptWithJScript">
<script language="JScript">
function SortVBArray(arrVBArray) {return arrVBArray.toArray().sort();}
</script>
<script language="VBScript">
' <![CDATA[
'** Fastest sort: call the Jscript sort from VBScript
myData = "a,b,c,1,2,3,X,Y,Z,p,d,q"
wscript.echo "Original List of values: " & vbTab & myData
starttime = timer()
sortedArray = SortVBArray(split(myData,","))
endtime=timer()
jscriptTime = round(endtime-starttime,2)
wscript.echo "JScript sorted in " & jscriptTime & " seconds: " & vbTab & sortedArray
' ]]>
</script>
</job>
Çıktı, sıralama şekli şöyle ASCII kodu dizisi:
Original List of values: a,b,c,1,2,3,X,Y,Z,p,d,q
JScript sorted in 0 seconds: 1,2,3,X,Y,Z,a,b,c,d,p,q
sabitleri maruz
Bir DSF başka çok yararlı özelliği bildirmek zorunda yerine bu nesnenin sabitleri böylece XML sargı bir amacı, referans veya denetime bağlı olmasıdır. Düzenli olarak VBScript ve JScript dosyaları, siz (iç olanları dışında sabitin değerini ilan etmek zorunda kalacağı Windows komut dosyası sabit kullanmak için). Bunun bir örneği, aşağıda gösterilmiştir:
const adLockBatchOptimistic = 4
MsgBox "The value of ""adLockBatchOptimistic"" is " & _
adLockBatchOptimistic & ".", vbInformation,"adLockBatchOptimistic"
Nesneniz belgeleri sadece sabitin değeri sabitin isme değil başvuruyorsa, bir yardımı olmadan değerini bilmenin bir yolu olurdu Entegre geliştirme ortamı onlar denk gelenleri anlatmak. DSF referans beyanı kullanarak, kendi değerlerini bildirmek olmadan sabitleri kullanabilirsiniz. Aşağıdaki örnek, ADO (çeşitli yaygın sabitleri değerlerini sıralamaktadır ActiveX veri nesneleri ) Recordset'in .
<?xml version="1.0" ?>
<!-- WSF Example with Object Reference
Notes for this very formal example:
CDATA is used to help the XML parser ignore
special characters in the content of the script.
The CDATA open and close must be masked
from VBScript by making them comments.
-->
<package>
<job id="EnumerateConstantsADO">
<reference object="ADODB.Recordset" />
<script language="VBScript">
' <![CDATA[
dim title, str, i
ctecArray = Array("adOpenUnspecified","adOpenForwardOnly", _
"adOpenKeyset","adOpenDynamic","adOpenStatic")
title = "ADO Recordset Values for Constants"
str = title & vbNewLine & vbNewLine
str = str & "*CursorTypeEnum Constants*" & vbNewLine
For i = 0 to ubound(ctecArray)
str = str & Eval(ctecArray(i)) & vbTab & ctecArray(i) & vbNewLine
Next
str = str & vbNewLine
str = str & "*LockTypeEnum Constants*" & vbNewLine
ltecArray = Array("adLockUnspecified","adLockReadOnly", _
"adLockPessimistic","adLockOptimistic", _
"adLockBatchOptimistic")
For i = 0 to ubound(ltecArray)
str = str & Eval(ltecArray(i)) & vbTab & ltecArray(i) & vbNewLine
Next
MsgBox str, vbInformation, Title
' ]]>
</script>
</job>
</package>
Bir ile bir dosyadan yukarıdaki komut çalıştırma ".WSF"böyle adlandırılmış biri olarak, uzatma "EnumerateConstantsADO.wsf", sonuç üretecektir aşağıda gösterilen:
ADO Recordset Values for Constants
*CursorTypeEnum Constants*
-1 adOpenUnspecified
0 adOpenForwardOnly
1 adOpenKeyset
2 adOpenDynamic
3 adOpenStatic
*LockTypeEnum Constants*
-1 adLockUnspecified
1 adLockReadOnly
2 adLockPessimistic
3 adLockOptimistic
4 adLockBatchOptimistic
Buna ek olarak, sabitler duyurmak için nesne başvurusu kullanarak daha fazla standart bir programlama dilinde yazmak gibi senaryo yazıyor yapar. Aslında, VBScript yazılmış örnek komut dosyası, içeriği, aslında bir içine derlemek olacak Visual Basic programı ve sürece bu programın ADODB aynı başvuru kullanır aynı şekilde çalıştırın.
Ayrıca bakınız
Dış bağlantılar
- Windows Komut Dosyası Dosyalarını Kullanma - Gönderen Microsoft'un web sitesinden
- Senaryo Merkezi'nden kullanılabilir Kodlama Dilleri itibaren - Wayback Makine'nin bir sayfanın arşivinde Microsoft'un web sitesinden