2012-03-09 91 views
0

如果一臺計算機在週三運行該腳本,我希望它在網絡地圖中創建一個%computername * .txt文件。在批處理腳本中,我可以使用%computername%.txt來創建它,我可以將哪些代碼用於VBS腳本?Computername寫入到txt文件(%computername%)


Dim WshShell 
Set WshShell = CreateObject("WScript.Shell") 

If DatePart("W",Date) = 4 Then 
    'Today is Wednesday, so run the virus scan 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.CreateTextFile("\\server\Avast Scan Log\%COMPUTERNAME%.txt") 
    WshShell.Run """C:\Program Files\Alwil Software\Avast4\aswcmd"" M: /m /*", , True 
End If 

回答

1
>> WScript.Echo CreateObject("WScript.Shell").ExpandEnvironmentStrings("%COMPUTERNAME%") 
>> 
WINXPSP3 
>> WScript.Echo CreateObject("WScript.Network").Computername 
>> 
WINXPSP3 
+0

嗨,Tnx爲您的答覆。它不起作用。它只是在窗口中顯示Computername。我只是希望它在網絡位置創建%computername%.txt文件。我們在這裏有50臺電腦。每臺計算機都必須將自己的計算機名寫入自己的txt文件。像com1.txt,com2.txt,com3.txt等 – e2e2 2012-03-09 14:49:54

+3

來吧,如何將返回的計算機名加入到你的腳本中,方法是將它加載到一個變量中,並在使用'objFSO.CreateTextFile'創建的文件名中使用該變量?我們在這裏爲您提供幫助,而不是在代碼運行之前詳細說明每一行代碼。 – AutomatedChaos 2012-03-09 15:16:24

1

使用WshNetwork對象來獲取計算機名稱的建議。它看起來像這樣。

Dim WshShell 
Set WshShell = CreateObject("WScript.Shell") 
Set WshNetwork = CreateObject("WScript.Network") 
strComputer = WshNetwork.ComputerName 

If DatePart("W",Date) = 4 Then 
    'Today is Wednesday, so run the virus scan 
    Set objFSO = CreateObject("Scripting.FileSystemObject") 
    Set objFile = objFSO.CreateTextFile("\\server\Avast Scan Log\" & strComputer & ".txt") 
    WshShell.Run """C:\Program Files\Alwil Software\Avast4\aswcmd"" M: /m /*", , True 
End If 
相關問題