2016-03-04 78 views
3

我想將文本文件的完整路徑傳遞給其中一個函數。 我正在通過使用下面的命令放置我的腳本,並在同一位置 文本文件,我發現在我的劇本是如何編寫一個函數來合併文件夾路徑和文件名?

p = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) 

p來爲C:\test的文件夾路徑

我的文件名是xyz.txt

我想通過參數的功能C:\test\xyz.txt

我怎麼能結合的路徑和文件名

我想下面的代碼

path = p & "xyz.txt" 

任何一個可以幫助我如何才能加入的路徑和文件名。

+0

對不起路徑=&P& 「xyz.txt將該」 – surendra

回答

7

可以使用字符串連接來建立一個路徑。但是,正確的做法是使用FileSystemObject的BuildPath() method,因爲在任何情況下,這都會對反斜槓做正確的事情。

Set FSO = CreateObject("Scripting.FileSystemObject") 

scriptPath = FSO.GetParentFolderName(WScript.ScriptFullName) 
textFilePath = FSO.BuildPath(scriptPath, "xyz.txt") 

MsgBox textFilePath 
+1

謝謝,託默勒格,它完美對我的問題。 – surendra

2

嘗試這樣的代碼:

Option Explicit 
Msgbox GetFilePath("xyz.txt") 
'****************************************************** 
Function GetFilePath(FileName) 
Dim fso,scriptPath 
Set fso = CreateObject("Scripting.FileSystemObject") 
scriptPath = FSO.GetParentFolderName(WScript.ScriptFullName) 
GetFilePath = FSO.BuildPath(scriptPath,FileName) 
End Function 
'****************************************************** 
+1

這是有點問題,因爲它留下了一個錯覺,它神奇地可以找到文件的完整路徑,而它所做的只是在當前目錄之前。 'GetAbsolutePathName()'意味着清理不乾淨(或相對)路徑,而不是檢索文件的路徑。此外,它不一定是真正的當前目錄的過程是一個VBScript文件。 – Tomalak

+1

@Tomalak我編輯我的答案與您的評論功能!謝謝 ! – Hackoo

相關問題