我刚刚在cmd.exe中经历了一次搜索dir *T.java
,回复SortedArrayList.java
以及ReaderT.java
(我的测试类文件名结构)。我无法从dir /?
的帮助输出推断出区分大小写切换。还有办法吗?
附录:我从答案中假设“Windows文件系统”是指NTFS或FAT [32]。
出于我的目的,我从使用dir /b /s *T.class | grep T\.
的答案中获得了灵感,其创建了一个新的question
答案 0 :(得分:4)
快速google-fu:
1.1 Windows文件系统简介
在Windows中,文件按目录(也称为文件夹)进行组织。这些目录以分层树结构组织,从根目录开始。目录可能包含子目录和文件。根目录表示为“\”(反斜杠).Windows的文件系统在驱动器中进一步组织,由驱动器号后跟冒号(例如,C:,D:,E :)标识。每个驱动器都有自己的根目录,例如C:\,D:。 Windows的文件系统不区分大小写,Rose是Rose,而且是ROSE。
所以不,使用DIR时没有“区分大小”选项。 另一方面,您可以尝试在程序一侧检查将执行文件搜索的区分大小写。在这种情况下,Java,正如我所假设的那样。只需获取所有匹配的文件,然后在Java中过滤掉不区分大小写的匹配项。
答案 1 :(得分:3)
据我所知。 Windows文件系统不区分大小写,直到最近你才能依赖你的资本保留(好吧,所以我现在回想几个版本的Windows)。因此,Microsoft的dir
命令完全忽略了您可能需要区分大小写的事实。
相反,您应该尝试通过grep
为Windows输出管道,这是GnuWin32项目的一部分:http://gnuwin32.sourceforge.net/packages/grep.htm
完整的软件包列表位于:http://gnuwin32.sourceforge.net/packages.html
如果您具有Linux背景并且被迫在Windows命令shell中执行任何远程有用的操作,那么这些内容非常有用。
所以,长话短说,你想要做的事情如下:
dir /b | grep T\.java
答案 2 :(得分:0)
如果您不想安装其他工具,可以使用find而不是grep。
dir /b /s | find "*T.class"
答案 3 :(得分:-1)
使用dir /L
以小写字母输出。