1

“find”的Gnuwin32端口有问题吗?它可以在我的 Windows XP 命令行上运行,但是当我尝试使用文件名模式匹配功能时,我得到了空白的凝视。它来自“findutils-4.2.20”包。必须重命名为“gfind.exe”,这样 Windows 就不会与 CMD.EXE 的“查找”混淆。
我的 Windows 控制台中的一些示例:

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind .  
.  
./find.chm  
./find.dvi.gz  
./find.GID  
./find.hlp  
./find.html  
./find.pdf  
./find.ps.gz    

这样可行。
同样,以下工作:

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind . -ls  
1970324837321105    0 drw-rw-rw-   2 cjohns89 0               0 Jun  11:34 .  
1688849860610677  128 -rw-rw-rw-   1 cjohns89 0          130729 Mar   2005 ./fin
d.chm  
1688849860610679   76 -rw-rw-rw-   1 cjohns89 0           74301 Mar   2005 ./fin
d.dvi.gz  
21673573207016133   20 -rw-rw-rw-   1 cjohns89 0           16826 Jun  21:05 ./fi
nd.GID  
1688849860610681  152 -rw-rw-rw-   1 cjohns89 0          154036 Mar   2005 ./fin
d.hlp  
1688849860610683  224 -rw-rw-rw-   1 cjohns89 0          226750 Mar   2005 ./fin
d.html  
1688849860610684  372 -rw-rw-rw-   1 cjohns89 0          379300 Mar   2005 ./fin
d.pdf  
1688849860610685  200 -rw-rw-rw-   1 cjohns89 0          201163 Mar   2005 ./fin
d.ps.gz  

但这不做深蹲。

C:\PROGRA~1\GnuWin32\doc\findutils\4.2.20\findutils-4.2.20>gfind . -iname '*.pdf
' -ls  

它只是返回到提示。我(新手)只是在使用语法时弄错了还是有错误?

4

3 回答 3

0

Chuck wrote:

gfind . -iname '*.pdf ' -ls

It's better without the apostrophe, since the Windows XP command line is an MS-DOS one.

For example:

gfind . -iname *.pdf  -ls
于 2010-06-17T15:02:32.037 回答
0

有点罗嗦,但这个链接描述了这个问题。简短的回答是,只有双引号实际上在 Windows 的 cmd.exe 或 command.exe 中执行引用。

另外,请记住 Windows 首先在本地目录中扩展 *.pdf - 请参阅Gnuwin32 find.exe 在执行搜索之前扩展通配符

于 2011-04-15T17:56:05.930 回答
0

我认为您的问题的关键在这里解释了 https://stackoverflow.com/a/3996353/8543838

没有回答你的问题,但过去我也遇到了一些关于 GnuWin32 'find' 的问题,我只是想让你知道有一个替代方案,它是ezwinports的一部分(gnu 工具的另一个端口)。我似乎还记得 ezwinports 的查找速度比 GnuWin32 的要快得多。

此外,我避免重命名与 CMD 的内置函数(例如 mkdir、echo 和 find)相同的 Gnu 工具的技巧是在脚本中使用“which find”。然后你知道你正在使用 gnu find 并且不需要触摸任何东西。

于 2020-12-19T16:46:10.427 回答