web-dev-qa-db-fra.com

Comment obtenir le chemin d'accès complet d'un fichier dans VBScript?

J'utilise le Shell.Application objet, qui me permet de créer par script un fichier Zip.

Mais pour que cela fonctionne, j'ai besoin du chemin complet du fichier Zip. File.Zip ne fonctionne pas. J'ai besoin c:\the\full\path\file.Zip, même si le script s'exécute dans le même répertoire où se trouve le fichier.

Comment puis-je obtenir le chemin complet d'un fichier dans VBScript ?

Quelque chose comme le %~fI expansion dans le shell cmd.exe.

19
Cheeso

Sur Scripting.FileSystemObject , il existe une méthode appelée GetAbsolutePathName qui fait cela.

C'est ce qui a fonctionné pour moi:

Dim folderName
folderName = "..\.."

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Dim fullpath
fullpath = fso.GetAbsolutePathName(folderName)

WScript.Echo "folder spec: " & folderName
WScript.Echo "fullpath:    " & fullpath
28
Cheeso

Par exemple

Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strFile= objArgs(0)
Set objFile = objFS.OpenTextFile(strFile)
Set objFile = objFS.GetFile(strFile)
WScript.Echo objFile.Path 

en ligne de commande

c:\test> cscript //nologo myscript.vbs myfile
5
ghostdog74