VB скрипт + найти в каком каталоге я (например, pwd для Linux) - PullRequest
1 голос
/ 23 июня 2010

Как получить путь к локальному каталогу, в котором я запускаю свой VB-скрипт

Например

У меня есть скрипт text.vb Мне нужно добавить к этому скрипту код VB, который находит путь к каталогу, в котором я запускаю скрипт test.vb (например, pwd для LINUX / UNIX)

THX

Яэль

Ответы [ 3 ]

2 голосов
/ 23 июня 2010

Я думаю, что это будет работать:

Dim currDir
Set fso = CreateObject("Scripting.FileSystemObject")
currDir = fso.GetParentFolderName(Wscript.ScriptFullName)

Редактировать: Или, может быть, вы можете просто сделать это:

Replace(WScript.ScriptFullName, WScript.ScriptName, "")
1 голос
/ 23 июня 2010

Вот как:

Function ExtractFilePath(PathName)
   For x = Len(PathName) To 1 Step -1
      If Mid(PathName, x, 1) = "\" Then Exit For
   Next
   ExtractFilePath = Left (PathName, x - 1)
End Function

ExtractFilePath(WScript.ScriptFullName) 'get current path
0 голосов
/ 24 июня 2010

Я думаю, что вы на самом деле хотите WshShell.CurrentDirectory.

Помните, что путь к сценарию не обязательно должен быть текущим каталогом.Это будет, если вы решите настроить его таким образом, но возможно запустить сценарий из другой папки.

С учетом этого сценария CurrDir.vbs в C: \ scripts:

' CurrDir.vbs
' show current dir as opposed to script dir

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

Say "current dir = " & shl.CurrentDirectory
Say "script name = " & WScript.ScriptFullName

sub Say(s)
  WScript.Echo s
end sub

с C: \ scripts в переменной среды PATH (и ".vbs" в PATHEXT и CScript в качестве хоста по умолчанию), затем при запуске из папки C: \ test это будет результат:

C:\test>CurrDir
current dir = C:\test
script name = C:\scripts\CurrDir.vbs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...