问题描述
如何在MS-Dos命令中显示多个字符
例如,如果要显示以A开头的当前目录中的所有内容,则可以在CMD中键入以下命令。
int
但是,如果我想显示所有A-M怎么办?我该如何告诉计算机显示多个字符?
解决方法
(这是针对PowerShell的)ls
命令,用于列出当前目录以及添加A*
之后的目录。
因此命令是ls A*
(它也会列出以a
开头的名称)。
如果要使用正则表达式进行过滤
Get-ChildItem | Where-Object { $_.Name -Match 'RegularExpression' }
以字母开头的正则表达式为^[A-M]+.
将-Match
更改为CMatch
,以区分大小写。
使用cmd
有两种可能性:列出每个所需字母的文件:
dir /b a* b* c* d* ... m*
由于对列表进行硬编码,因此笨拙且不灵活。即使使用for
循环也不是更好:
for %a in (a b c d e ... m) do @dir /b %a*
如果只需要两个或三个字母,这可能会很好。
第二种方法(更灵活,也可能更快):获取整个列表并对其进行过滤:
dir /b | findstr /rib "[a-m]"
对于非连续字母(a *,b *,m *,n *,x *,y *):
dir /b | findstr /rib "[abmnxy]"