1

ディレクトリ内の新しいファイルを追跡したいのですが。ドキュメントに記載されているスクリプトを使用しました:http://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener

var fs = require('fs');
fs.watch('mydir/', function (event, filename) {
    console.log('event is: ' + event);
    if (filename) {
        console.log('filename provided: ' + filename);
    } else {
        console.log('filename not provided');
    }
});

そして、例えばをmydir/使用するためにファイルを追加しました。touch hello.txt

renameスクリプトを実行すると、発行されたイベントが!!であるため、新しいファイル名が取得されません。これがコンソール出力です。

event is: rename
filename not provided

ファイルの新しい名前を取得するにはどうすればよいhello.txtですか?

ありがとう。

4

3 に答える 3

4

同じページにも問題が記載されています。

コールバックでのファイル名引数の提供は、すべてのプラットフォームでサポートされているわけではありません (現在、Linux と Windows でのみサポートされています)。サポートされているプラ​​ットフォームでも、ファイル名が常に提供されるとは限りません。

あなたの最善の策は、時計のような同様の機能を提供する別のモジュールに切り替えることだと思います(私自身は経験がありません)。

于 2013-02-28T11:49:22.780 に答える