ä»ä¹æ¯ä¸ .wsf æä»¶ï¼
WSF æä»¶æ¯å±äºå¯æ§è¡ç±»å«çèæ¬ï¼éå¸¸å¨ Microsoft Windows ä¸ä½¿ç¨ãè¯¥èæ¬æ¯æå¤ç§è¯è¨çæ··åï¼è¿æå³çå¨ WSF æä»¶ä¸å¯è½å å« JScriptãVBScript åå¯éçä¸äº XML å ç´ æå ¶ä»èæ¬è¯è¨ï¼å¦ PythonãObject REXXãPerlãKixtartï¼å¦æç¨æ·å®è£ ï¼çæ··åã WSF æä»¶å¨æ²¡æ WScript æ CScript çæ åµä¸èªè¡æ§è¡ã WSF æä»¶æå©äºé误é离åå ¬å¼å¸¸éã
WSF æä»¶æ ¼å¼
WSF æä»¶æ ¼å¼å¯ä»¥æ··åæ¨ä»¥åç Windows èæ¬å®¿ä¸»é¡¹ç®ä¸ç JScript å VBScriptï¼.wsf æä»¶å 许æ¨å°å®ä»¬ä¸ Windows èæ¬å®¿ä¸»ä¸èµ·ä½¿ç¨ã WSF èæ¬å°è£ äºå¯ä¾åç§ WSF æä»¶ä½¿ç¨ç彿°åºãä¸é¢çç¤ºä¾æ¾ç¤ºäºä¸ä¸ª .wsf æä»¶ï¼å ¶ä¸å æ¬ä¸ä¸ª JScript æä»¶ (fso.js)ï¼ä»¥åä¸ä¸ªè°ç¨å¦ä¸ä¸ªå½æ°ç VBScript 彿°ã
<job id="IncludeExample">
<script language="JScript" src="FSO.JS"/>
<script language="VBScript">
' Get the free space for drive C.
s = GetFreeSpace("c:")
WScript.Echo s
<script>
</job>
WSF æ ¼å¼æ¯æä»¥ä¸éå åè½ï¼
- å æ¬è¯å¥
- å¤ä¸ªå¼æ
- ç±»ååº
- å·¥å ·
- ä¸ä¸ªæä»¶ä¸çå¤ä¸ªä½ä¸
WSF æä»¶çä¼ç¹
WSF æä»¶å¯å¨ä»¥ä¸é¢åä¸åæ¥ä½ç¨ï¼
é误é离
WSF æä»¶ç模ååç¹æ§å¯ä»¥é²æ¢ä¸ä¸ªèæ¬å¼ç¨å¹²æ°å¦ä¸ä¸ªèæ¬å¼ç¨ï¼è¿ä½¿å¾ WSF å¯ç¨äºé离é误ãä¸é¢æ¯ä¸ä¸ª WSF 示ä¾ï¼å ¶ä¸ä¸ä¸ªæ¨¡å产çé误ï¼ä¸ä¸ªæ¨¡åä¸äº§çé误ï¼
<?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>
æ··åè¯è¨æ¯æ
WSF æ¯æå¤ç§è¯è¨ï¼æ¨å¯ä»¥è®©ä¸ç§èæ¬è¯è¨ä½¿ç¨å¦ä¸ç§èæ¬è¯è¨ç代ç ãè¿æ¯ä¸ä¸ªå¦ä½å·¥ä½ç示ä¾ï¼
<?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>
æ´é²å¸¸é
WSF æ¯æå° XML å è£ å¨ç»å®å°å¯¹è±¡å¼ç¨ææ§ä»¶ï¼å æ¤æ¨å¯ä»¥ä½¿ç¨è¯¥å¯¹è±¡ç常éèä¸å¿ 声æå®ä»¬ãä¸é¢æ¯ä¸ä¸ªä¾åï¼
<?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>