1

「find」の Gnuwin32 ポートに問題はありますか? Windows XP のコマンド ラインでは動作しますが、ファイル名のパターン マッチング機能を使用しようとすると、何も見えなくなります。「findutils-4.2.20」パッケージからのものです。Windows が CMD.EXE の「検索」と混同しないように、名前を「gfind.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

チャックは次のように書いています。

gfind . -iname '*.pdf ' -ls

Windows XP のコマンド ラインは MS-DOS のコマンド ラインなので、アポストロフィーは付けないほうがよいでしょう。

例えば:

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の「検索」でいくつかの問題がありました.ezwinports(gnuツールの別のポート)の一部である代替手段があることをお知らせしたかっただけです. また、ezwinports の検索は GnuWin32 の検索よりもはるかに高速だったことも覚えているようです。

また、CMD の組み込み関数 (mkdir、echo、find など) と同じ Gnu ツールの名前を変更しないようにするための私のトリックは、たとえばスクリプトで「which find」を使用することです。これで、gnu find を使用していることがわかります。何も操作する必要はありません。

于 2020-12-19T16:46:10.427 に答える