dir命令cmd中的特殊字符不起作用
命令dir命令cmd中的特殊字符不起作用,cmd,Cmd,命令dir??p*p???.dll提供如下输出: 我希望它返回所有文件,其中开头的第三个字母和结尾的第三个字母是ap 有什么想法吗?正如AlexK正确指出的那样,通配符?匹配结尾或 要在cmd筛选器中使用(默认情况下基于regex的)findstr获得正确的结果 在正则表达式中,类似于?和*(任意数量的点)类似于通配符* ^锚定在开始处,$锚定在结束处。文字点必须转义。\。 > dir /B "C:\windows\system32\??p*p??.dll" |findstr "^..p
dir??p*p???.dll
提供如下输出:
我希望它返回所有文件,其中开头的第三个字母和结尾的第三个字母是ap
有什么想法吗?正如AlexK正确指出的那样,通配符
?
匹配结尾或
要在cmd筛选器中使用(默认情况下基于regex的)findstr获得正确的结果
在正则表达式中,
类似于?
和*
(任意数量的点)类似于通配符*
^
锚定在开始处,$
锚定在结束处。文字点必须转义。\。
> dir /B "C:\windows\system32\??p*p??.dll" |findstr "^..p.*p..\.dll$
Apphlpdm.dll
AppointmentApis.dll
mfperfhelper.dll
SrpUxNativeSnapIn.dll
??.
也将匹配x.x
,因为?
匹配名称的结尾(或
)。还要考虑<代码> dir < /Cord>查看8.3个名称。使用PowerShellls??p*p???.dll
获得预期的结果。您可以按以下方式筛选文件名:dir/B/A:-D“?p*p???.dll”| findstr/I“^..p.*p...[^\.]*$”