Afficher un message
Vieux 12/09/2007, 08h24   #3
David Brown
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problems with escaping ' with WMI query

Hello bryons@gmail.com,

I found someone else with the same problem:
http://www.scriptinganswers.com/foru...=1028&PID=6176

Rather than using the single-quote (') as a delimiter, you can use the double-quote
(") if you escape it. In VBS you escape a character by doubling it, so ""
.. For some reason, this seems to work better in this situation.

Using the following revision, I was able to get folders with ' or } in them,
but I had to escape the backslashes ( \\ )

strFolderName = "c:\\quote_test\\b{o't}h"

"Associators of {Win32_Directory.Name=""" & strFolderName & """} " _
& "Where AssocClass = Win32_Subdirectory " _
& "ResultRole = PartComponent"





> I am trying to fix some code that MS released to recursively list
> files in folders (http://www.microsoft.com/technet/scriptcenter/
> resources/qanda/feb05/hey0218.mspx) so that it handles ' and } when
> they are in the paths. I have been successful with the } but the ' is
> giving me fits! Here's the offending line:
>
> Set colSubfolders2 = objWMIService.ExecQuery _
> ("Associators of {Win32_Directory.Name='" & strFolderName &
> "'} " _
> & "Where AssocClass = Win32_Subdirectory " _
> & "ResultRole = PartComponent")
> When the query is:
> Associators of {Win32_Directory.Name='d:\\inetpub\\content\\india
> photos\\john'} Where AssocClass = Win32_Subdirectory ResultRole =
> PartComponent
> Everything works fine.
> When I try to escape the ' in mike's pix I get the error below
> Associators of {Win32_Directory.Name='d:\\inetpub\\content\\india
> photos\\mike\'s pix'} Where AssocClass = Win32_Subdirectory ResultRole
> = PartComponent
> C:\Temp\test2.vbs(46, 5) (null): 0x8004103A
> Am I not escaping the ' correctly?
>




  Réponse avec citation
 
Page generated in 0,06138 seconds with 9 queries