2010-02-22 2 views
1

Я пробую файл оболочки Windows, который будет вставлен в папку, где будет анализироваться содержимое папок.windows shell - как определить текущее местоположение файла сценария?

Теперь я хотел бы знать, как я могу определить, каков текущий путь? то есть местоположение, где файл vbs помещается с помощью FileSystemObject?

Set objFSO = CreateObject ("Scripting.FileSystemObject")

ответ

3
Set objFS = CreateObject("Scripting.FileSystemObject") 
WScript.Echo objFS.GetParentFolderName(WScript.ScriptFullName) 
2

Вы можете получить, что с WScript.ScriptFullName. Просто удалите имя файла с конца (бит после последней обратной косой черты). Обычно я использую JScript для скриптов, но у IIRC VBScript есть функция InStrRev, которая поможет вам найти последнюю обратную косую черту. Или: создайте объект File для пути WScript.ScriptFullName, а затем используйте его свойство ParentFolder. Что-то вроде (непроверенные):

Dim objFSO 
Dim objFile 
Dim objFolder 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.GetFile(WScript.ScriptFullName) 
Set objFolder = objFile.ParentFolder 
1

Чтобы получить полный путь только без расширения я использую Replace(WScript.ScriptFullName, WScript.ScriptName, "") просто привести к FilePath