基本上,我想知道是否有更短的方法来执行this:
*.* !*.exe !*.zip !*.jar
问题是,我编写的软件生成的文件扩展名我无法预测--既不包括我想排除的内容,也不包括我想包含的内容,所以我唯一的选择就是在我运行时添加排除项。但是我的列表长度现在超过了N++的限制,所以我想知道它是否可以更短,比如
*.* !*.[exe zip jar]
jgovgodb1#
编号:"筛选器"列表是以空格分隔的cmd.exe可以理解的通配符表达式列表,如*.doc foo.*。
*.doc foo.*
*
?
!
!+\
;
x?y.txt
x;y.txt
x y.txt
x
y
这是因为它不是一个正则表达式。就像命令行/提示符只知道通配符,不知道正则表达式,也不知道两者的混合(例如,使用方括号)。同样,"* Directory *"也不能与正则表达式一起使用。
1条答案
按热度按时间jgovgodb1#
编号:
"筛选器"列表是以空格分隔的cmd.exe可以理解的通配符表达式列表,如
*.doc foo.*
。*
(表示零个或多个任意字符)和?
(正好表示任意字符中的一个)。?
和*
通配符,或!
排除或!+\
递归排除),并且不能用作文字。此外,;
会导致问题,因此,即使Microsoft允许在文件名和路径名中使用;
,在"筛选器"框中使用;
也不会像您希望的那样起作用。如果您想在筛选器的文件或文件夹中匹配空格或分号;
或其他有问题的标点符号(无论是纳入还是排除),则改用*
和/或?
通配符。(因此x?y.txt
将匹配文件x;y.txt
或x y.txt
(在x
和y
之间有一个空格)。)对不起,不可以,您不能在带空格的路径两边使用引号,以允许空格作为文字:空格是此字段中分隔符。这是因为它不是一个正则表达式。就像命令行/提示符只知道通配符,不知道正则表达式,也不知道两者的混合(例如,使用方括号)。同样,"* Directory *"也不能与正则表达式一起使用。