在cmd.exe中区分大小写的目录

我只是在cmd.exe中遇到了一个searchdir *T.java ,它给出了SortedArrayList.java以及ReaderT.java (我的Test类的文件名结构)。 我无法从dir /?的帮助输出中推断区分大小写切换dir /? 。 还有一种方法吗?

附录:我从答案中假设“Windows文件系统”是指NTFS或FAT [32]。

为了我的目的,我从使用dir /b /s *T.class | grep T\.的答案中获得灵感 dir /b /s *T.class | grep T\. 这就产生了一个新的问题

只是一个快速谷歌福:

1.1 Windows文件系统介绍

在Windows中,文件被组织在目录(又名文件夹)中。 这些目录按照从根目录开始的分层树结构进行组织。 目录可能包含子目录和文件。 根目录表示为“\”(反斜杠).Windows的文件系统进一步组织在驱动器中,由一个驱动器号和一个冒号(例如C:,D:,E :)标识。 每个驱动器都有自己的根目录,如C:\,D :. Windows的文件系统不区分大小写,玫瑰是玫瑰,是玫瑰。

所以不行,使用DIR时没有“case-senstive”选项。 另一方面,您可以尝试检查将执行文件搜索的程序一侧的区分大小写。在这种情况下,Java,如我所料。 只要获得所有匹配的文件,然后过滤出Java中不区分大小写的匹配项即可。

不是我的知识。 Windows文件系统是不区分大小写的,直到最近你不能依靠你的大写保存(好吧,所以我现在回想几个Windows版本)。 因此,Microsoft的dir命令完全忽略了您可能需要区分大小写的事实。

相反,你应该尝试通过grep来输出Windows的输出,这是GnuWin32项目的一部分: http ://gnuwin32.sourceforge.net/packages/grep.htm

包的完整列表在: http : //gnuwin32.sourceforge.net/packages.html

如果你有一个Linux背景,并且被迫在Windows命令行中执行任何远程有用的东西,那么这些东西就非常有用。

所以,长话短说,你会想做一些事情:

 dir /b | grep T\.java 

如果您不想安装其他工具,则可以使用find而不是grep。

 dir /b /s | find "*T.class" 

使用dir /L以小写输出。