2017-05-09 35 views
-1

下面的腳本正常工作。它在指定的位置搜索.exe文件並輸出一個包含文件位置的文件。左右添加引號

所有這些都很好。除了我想將輸出文件全部放在「」中,怎麼做?

Option Explicit 'force all variables to be declared 

On Error Resume Next 
Const ForWriting = 2 
Dim objFSO 
Set objFSO = CreateObject(Scripting.FileSystemObject) 

Dim objTS 'Text Stream Object 
Set objTS = objFSO.OpenTextFile("output_path", ForWriting, True) 

Recurse objFSO.GetFolder("location_of_files") 
objTS.Close() 

Sub Recurse(objFolder) 
    Dim objFile, objSubFolder 

    For Each objFile In objFolder.Files 
     If LCase(objFSO.GetExtensionName(objFile.Name)) = "exe" Then 
      objTS.WriteLine(objfile.Path) 
     End If 
    Next 

    For Each objSubFolder In objFolder.SubFolders 
     Recurse objSubFolder 
    Next 
End Sub 

回答

0

改變這一行:

objTS.WriteLine(objfile.Path) 

要這樣:

objTS.WriteLine("""" & objfile.Path & """") 

,因爲你必須仔細嵌入式引號它看起來很奇怪。

或者相反,您可以使用CHR(34),像這樣:

objTS.WriteLine(chr(34) & objfile.Path & chr(34)) 

的CHR()函數指定character code轉換爲字符。

+0

此準確答案已經[無數次] [https://www.google.com/search?safe=off&ei=5msRWZ_kNKeZgAaJlqyoCA&q=site%3Astackoverflow.com+vbscript+double+quotes&oq=site%3Aackackoverflow.com + vbscript + double +引號),它不像字符串中的轉義引號是一件新事物。標記並繼續。 – Lankymart