而不是創建一個調用一個長命令VBS文件,將有可能做到這一點使用更多的VBScript,允許進一步的發展,在你以後的日子如此希望。
下面的腳本假設你的「CIEB_Group3」保持在同一個地方(一個cd .. up,然後一個cd再次下降),並且該文本文件保持爲「server.txt」並且只包含一個條目。
Set WshShell = CreateObject("WScript.Shell")
'strpath = script execution directory
strPath = WshShell.CurrentDirectory
strPathReverse = StrReverse(strpath)
'create the parent folder filepath, equivalent to cd..
strParentFilePath = Left(strPath, Len(StrPath) - InStr(strPathReverse,"\"))
'open the text file, making the assumption it is in CIEB_Group3 and is called server.txt
Set objfso = CreateObject("Scripting.FileSystemObject")
Set textfile = objfso.OpenTextFile (strParentFilePath & "\CIEB_Group3\Server.txt", 1)
'read the text file first line into a variable
strNetworkShare = textfile.ReadLine
'map the drive, chr(32) = <space>, chr(34) = "
WshShell.Run "net use K:" & Chr(32) & Chr(34) & strNetworkShare & Chr(34) & Chr(32) & "/pers:yes", 1, 1
另外,如果你仍然想使用單CMD線 - 你不妨嘗試擴大環境變量CMD命令外,按以下。
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /k cd.. & cd CIEB_Group3 & set /p RootServer=<Server.txt & net use K: " & wshShell.ExpandEnvironmentStrings("%RootServer%") & " /pers:yes", 1, True
'RootServer'變量的值是什麼? – lit
這是一個到\\ XPVGHA001 \ landat1文件夾的網絡共享路徑。當我在提示本身中逐行執行它們時,這些命令正常工作。當它全部作爲一行執行時,變量無法實例化。 – Arch1medes
您如何知道在新的'WScript.Shell'中定義了'RootServer'變量? – lit