2017-05-09 10 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%3Astackoverflow.com)に記載されています。 + vbscript + double + quotes)、文字列の引用符をエスケープするのは新しいことではありません。フラグを立てて移動する。 – Lankymart

関連する問題