嗨,Scripting Guy!
歡迎使用全新的 TechNet 專欄,Microsoft Scripting Guy 會在此為您解答有關系統管理指令碼的常見問題。您有關於系統管理指令碼方面的問題嗎?請將電子郵件傳送到 scripter@microsoft.com。我們無法保證能夠逐一回答每個問題,不過我們會盡力而為。
今天的問題:我要如何從指令碼將資料傳送到其他指令碼?
我要如何從指令碼將資料傳送到其他指令碼?
問 | 嗨,Scripting Guy!不久之前您才為我們示範如何使用 InputBox 函式來提示使用者輸入值,然後我們就可以在指令碼中使用該值。我想要知道的是,是否有任何方法可以讓我取得該值,並將該值用於「其他」指令碼? -- JW |
答 | JW,您好。我們必須猜測一下,不過顯然在您需要的許多指令碼功能中,有一項是必須對使用者提示以取得一些資料。然後您想啟動第二個指令碼,並讓第二個指令碼能夠存取使用者在第一個指令碼中輸入的資料。而且,您當然也想知道是否甚至有可能辦到這點。 答案是 (很懸疑緊張吧?):多少可以。假設您啟動指令碼 A,然後輸入一個值。現在您是否可以獨立地啟動指令碼 B,然後讓指令碼 B 探入指令碼 A 並擷取該值?不行。這似乎更像是魔法而非指令碼。不過,您可以這樣做:啟動指令碼 A 並讓使用者輸入資料。然後使用指令碼 A 來啟動指令碼 B。您這麼做時,就能將資料傳遞到指令碼 B。如此一來,指令碼 B 就能完整存取使用者輸入的所有資訊。 為了更清楚地解釋這點,讓我們觀察一個非常簡單的範例。我們需要 2 個指令碼:指令碼 A 和指令碼 B。在啟動指令碼 A 時,指令碼將提示使用者輸入一個號碼。然後指令碼 A 便會啟動指令碼 B。在啟動指令碼 B 時,指令碼 A 也會傳遞使用者所輸入的數字。然後,指令碼 B 就會取用該數字,決定該數字的平方根,並且報告答案。 注意:在此情況下,是否能讓一個指令碼接受使用者的輸入「並」計算出平方根,好讓工作更容易進行?可以。不過請記得,這個指令碼的設計,是要用來示範從一個指令碼傳遞資料到其他指令碼的方式,而不是做為在實際工作時所使用的指令碼。 以下是指令碼 A。請注意我們一開始就建立 WSH Shell 物件的例項,這個物件會在稍後用來啟動指令碼 B (我們將指令碼 B 命名為 output.vbs,指令碼 A 則命名為 input.vbs)。然後我們使用 InputBox 函式要求使用者輸入數字: |
|
如需詳細資訊
回到頁首