Как определить, является ли путь относительным или абсолютным с VB Scripting Host - PullRequest
5 голосов
/ 22 февраля 2010

Как определить, является ли путь относительным или абсолютным в скрипте Visual Basic.

В VBA я бы вызвал Win32 API-функцию PathIsRelative

Private Declare Function PathIsRelative Lib "shlwapi" _
    Alias "PathIsRelativeA" _
   (ByVal pszPath As String) As Long

Однако это не такможно вызвать DLL из VBS, поэтому я не могу использовать Win32 Api.

René

Ответы [ 3 ]

2 голосов
/ 09 марта 2010
set oFSO = CREATEOBJECT("Scripting.FileSystemObject")

relativePath = ""
absolutePath = "c:\test"

MsgBox UCase(relativePath) = UCase(oFSO.GetAbsolutePathName(relativePath))
MsgBox UCase(absolutePath) = UCase(oFSO.GetAbsolutePathName(absolutePath))
0 голосов
/ 26 июля 2013

Может быть, так будет выглядеть лучше:

FUNCTION IsPathAbsolute( testedPath)

set oFSO = CREATEOBJECT("Scripting.FileSystemObject")

IsPathAbsolute = UCASE( testedPath) = UCASE( oFSO.GetAbsolutePathName( testedPath))
0 голосов
/ 22 февраля 2010
dim position
position = InStr("your-path", ":")

If position > 0 Then
  ''# absolute path
else
  ''# relative path
end if
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...