如何使用Windows通配符查找目录中的所有文件名

时间:2012-04-30 18:26:00

标签: regex windows cmd wildcard regex-negation

我有两个文件:

asdf.txt.txt
asdf.txt

是否可以使用cmd查找仅以.txt结尾的文件而不是上面的文件:.txt.txt?

我有:

 dir *.txt

但它仍会产生两个文件

是否可以这样做

ps这是一个家庭作业,但我看上线,无法从cmd线找到任何方法

5 个答案:

答案 0 :(得分:2)

由于这是作业,我不会提供完整的答案。但是有一个简单的解决方案使用管道(|)和FINDSTR。

答案 1 :(得分:2)

dir *.txt | findstr/v/i "txt.txt"

findstr/v将取消包含“txt.txt”的行。 /i告诉它引号中的字符串不区分大小写。

答案 2 :(得分:0)

这取决于你想要做什么。这两个文件在技术上都是* .txt。你可以做一些像dir * f.txt这样的东西,或者你可以使用一些带有findstr的虚假正则表达式: http://technet.microsoft.com/en-us/library/bb490907.aspx

答案 3 :(得分:0)

正如dweiss指出的,给你的结果在技术上是正确的。

另一个(尽管可能更复杂)解决方案是使用Powershell to perform GREP-like commands

答案 4 :(得分:-4)

从:

开始

thing.txt thing.txt.txt

REN * .txt.txt * .xyz

thing.txt thing.txt.xyz

DIR * .txt

仅列出thing.txt

DIR * .xyz

仅列出thing.txt.xyz

REN * .xyz * .txt

返回原始文件名。