"find“的Gnuwin32端口有问题吗?它可以在我的Windows XP命令行上工作,但当我尝试使用文件名模式匹配功能时,我得到的是空白的眼神。它来自"findutils-4.2.20“包。必须重命名为"gfind.exe“,这样Windows才不会与cmd.exe的"find”混淆。
来自我的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 它只是返回到提示符。是我(一个新手)在使用语法时弄错了,还是有个bug?
发布于 2010-06-17 23:02:32
Chuck写道:
gfind . -iname '*.pdf ' -ls没有撇号会更好,因为Windows XP命令行是MS-DOS命令行。
例如:
gfind . -iname *.pdf -ls发布于 2011-04-16 01:56:06
有点冗长,但this link描述了这个问题。简短的答案是,在Windows的cmd.exe或command.exe中,只有双引号才能真正执行引用。
此外,请记住,Windows首先在本地目录中展开*.pdf --参见Gnuwin32 find.exe expands wildcard before performing search。
发布于 2020-12-20 00:46:10
我想你问题的关键已经在这里解释了https://stackoverflow.com/a/3996353/8543838
没有回答你的问题,但在过去,我也有一些关于GnuWin32‘find’的问题,我只是想让你知道还有另一个选择,ezwinports ( gnu工具的另一个端口)的一部分。我似乎还记得ezwinports的find比Gnuwin32的要快得多。
此外,为了避免重命名与CMD内置函数(如mkdir、echo和find)相同的Gnu工具,我的诀窍是在脚本中使用‘which find’。然后你就知道你正在使用gnu find,不需要接触任何东西。
https://stackoverflow.com/questions/2992125
复制相似问题