Gnuwin32 find.exe在执行搜索之前扩展通配符
发布时间:2020-12-13 20:23:09 所属栏目:Windows 来源:网络整理
导读:我在Windows环境中使用Gnuwin32二进制文件. 当我想要找到某种类型的文件时,我们来说说PDF,我通常运行: find . -iname '*.pdf' -print 这可以在任何UNIX系统上完美运行. find.exe . -iname "*.pdf" -print 但是在Windows下,用双引号代替单引号,只能在当前目
我在Windows环境中使用Gnuwin32二进制文件.
当我想要找到某种类型的文件时,我们来说说PDF,我通常运行: find . -iname '*.pdf' -print 这可以在任何UNIX系统上完美运行. find.exe . -iname "*.pdf" -print 但是在Windows下,用双引号代替单引号,只能在当前目录中没有pdf文件的情况下工作,否则*将被扩展. 更糟糕的是,当当前目录中只有一个PDF文件时,它会扩展,没有语法错误,你会得到错误的结果. 我已经试图逃脱*与插入符号,反斜杠,一个明星本身,放在双引号:没有什么对我有用. 实例: 好的,这里是我的所有文件: C:tmp>find . -type f ./a/1.pdf ./a/2.pdf ./a/aa/1.pdf ./b/1.pdf ./b/bb/1.pdf ./b/bb/2.pdf 良好的行为,通配符没有扩展 C:tmp>find . -iname "*.pdf" ./a/1.pdf ./a/2.pdf ./a/aa/1.pdf ./b/1.pdf ./b/bb/1.pdf ./b/bb/2.pdf C:tmp>cd a 小心,不一致的行为,通配符被扩展: C:tmpa>find . -iname "*.pdf" find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression] C:tmpa>cd ..b 小心,通配符被扩展: C:tmpb>find . -iname "*.pdf" ./1.pdf ./bb/1.pdf 谢谢
我发现自己是我的问题的解决方案.
> Gnuwin32的find.exe在最近的Windows版本(Vista,Seven)上不起作用,因为它扩展了只匹配当前目录的内容的通配符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |