PowerShell中使用通配符匹配文件路径的例子

星号(*)在DOS的时代,就是通配符(英文叫Wildcard)的代表。从DOS到Windows,再到PowerShell,星号一如既往的坚守在通配符的岗位上。

简单看个例子:


PS [zhanghong] >dir d:\*.vbs

   目录: D:\

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---          2013/6/5     16:42        211 test.vbs


这个例子的作用就是列出所有的D盘根目录下的vbs后缀的文件。

小编经常使用PowerShell跟路径打交道,怎么样灵活的从目录体系中抓取出自己想的文件是小编一直以来的追求。不经意间,小编发现在PowerShell的路径中,可以使用多个通配符,从而大幅度提高效率。

我们开设虚拟主机的时候,把所有的用户数据都放在这样一个模式的目录下:


d:\wwwroot\网站名称\wwwroot\


如果我要查找所有用户网站根目录下的index.php文件,我们可以在路径中带上一个通配符:

dir d:\wwwroot\*\wwwroot\index.php


更进一步,如果我们想看所有的以index为文件名的文件,那可以这样:

dir d:\wwwroot\*\wwwroot\index.*


黑客往往喜欢往名称为index或default的文件里面插入黑链,我们可以通过这样的方式快速的找到相关文件,好进行下一步的侦察工作。

好了,关于通配符在路径中的使用,就说这么多,谢谢!