怎么用根据实现删除名称中有撇号的文件夹

介绍

这篇文章主要讲解了“怎么用根据实现删除名称中有撇号的文件夹”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习”怎么用根据实现删除名称中有撇号的文件夹”吧!


撇号的问题在于它是“保留”字符,也就是,VBScript 自己专用的字符。例如,假设您要删除文件夹,C: \脚本。下面的脚本就将执行这一操作:
strComputer =,“!”
Set  objWMIService =, GetObject (“winmgmts: \ \“,,, strComputer ,,“\ \ cimv2"根)
Set  colFolders =, objWMIService只_
,,,, ExecQuery (“Select  *,得到Win32_Directory  Where  Name =, & # 39; C: \ \脚本# 39;“)
For  Each  objFolder 拷贝colFolders
,,,, errResults =objFolder。删除下

如果您仔细查看,Where 子句,您会发现撇号(或单引号)用于代表一个字符串值:“C: \ \脚本# 39;。这就是我们在处理名称中有撇号的文件夹(例如,肯# 39;s 脚本)时出现问题的原因。如果我们尝试运行如下脚本,您猜猜会发生什么?
strComputer =,“!”
Set  objWMIService =, GetObject (“winmgmts: \ \“,,, strComputer ,,“\ \ cimv2"根)
Set  colFolders =, objWMIService只_
,,,, ExecQuery (“Select  *,得到Win32_Directory  Where  Name =, & # 39; C: \ \肯# 39;s 脚本# 39;“)
For  Each  objFolder 拷贝colFolders
,,,, errResults =objFolder。删除下

我们不会让您处于紧张的等待状态:这个脚本必然会失败。为什么?唔,请看其中的,Where 子句:
Where  Name =, & # 39; c: \ \肯# 39;s 脚本# 39;
因为在,Where 子句中用撇号标记字符串的起始和结尾,所以,VBScript 认为文件夹的名称为:“C: \ \肯# 39;。这本来没问题,只可惜紧该字符串后面还有一串字符,(s 脚本# 39;).VBScript 不知道这些杂乱数据表示什么,因此它只是放弃且不做任何尝试。
是的,我们知道。但这就是,VBScript 的工作方式。因为撇号是一个保留字符,用来(还有其它用途)在,Where 子句中标记字符串的起始和结尾.VBScript 只是不了解我们在说什么。
不,绝对不是笑话大多数不幸与脚本专家交谈的人。那个问题太简单了!
那么,有没有解决这个问题的方法呢?肯定有。您也许知道,每次在,Where 子句中(例如,在文件路径中)使用反斜线,(\),时,必须在其前面放置另一个,\,来“转”义反斜线;这就是为什么我们的文件路径类似,C: \ \ Scripts 而非,C: \脚本。我们必须这样做,因为,\,也是一个保留字符;指示,VBScript 按原样使用,\,的唯一方法就是转义它(只是使用另一个,\,作为其开端)只
嗨,稍等一下:如果只需使用另一个,\,作为开端就可以使用保留字符,\,或许您也可以使用如单引号之类的保留字符,方法是使用,\,作为它的开端只
您知道,这确实神奇地奏效了:
strComputer =,“!”
Set  objWMIService =, GetObject (“winmgmts: \ \“,,, strComputer ,,“\ \ cimv2"根)
Set  colFolders =, objWMIService只_
,,,, ExecQuery (“Select  *,得到Win32_Directory  Where  Name =, & # 39; C: \ \肯\ & # 39;s 脚本# 39;“)
For  Each  objFolder 拷贝colFolders
,,,, errResults =objFolder。删除下

答案就在这里,JH。请注意我们是如何在撇号前面放置,\,的;从而我们得到的结构看起来像这样:“C: \ \肯\ & # 39;s 脚本# 39;。在文件夹名称中的任何撇号前面均放一个,\,脚本就可以正常工作了。是的,虽然看起来有点怪,但确实起作用。

感谢各位的阅读,以上就是“怎么用根据实现删除名称中有撇号的文件夹”的内容了,经过本文的学习后,相信大家对怎么用根据实现删除名称中有撇号的文件夹这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

怎么用根据实现删除名称中有撇号的文件夹