パラメータへのアクセス
次の内容を含む配列である process.argv を通じてコマンド ライン パラメータにアクセスできます:
[nodeBinary, script, arg0, arg1, ... ]
つまり、最初のパラメーターは process.argv[2] から始まり、次のようにすべてのパラメーターを反復処理できます:
process.argv.slice(2).forEach(function (fileName) {
...
});
パラメータのより複雑な処理を実行したい場合は、Node.js モジュール nomnom と optimizer を参照してください。以下では、ファイル システム モジュールを何度も使用します。
var fs = require('fs'); >テキスト ファイルを 1 つ読み取ります
ファイルがそれほど大きくない場合は、ファイル全体をメモリに読み取り、文字列に入れることができます:
コードをコピー
これで分割できます。このテキストを 1 行にまとめます
コードをコピーします
大きなファイルの場合はストリームを使用できますStack Overflow に解決策があります。
テキスト ファイルを書き込む
文字列を介して完全なコンテンツをファイルに書き込むことができます。 writeFileSync(fileName, str , 'utf8');
または、文字列をストリームに増分的に書き込むこともできます。
コードをコピーします。
コードは次のとおりです。
解決策 1: 既存のファイルを読み取ります。文字列に移動し、「rn」を検索し、見つからない場合は、行終端文字が「n」であることを確認します。
コードは次のとおりです:
var EOL = fileContents.indexOf("rn") >= 0 ? "rn" : "n";解決策 2: 検出システム プラットフォーム。すべての Windows プラットフォームと 64 ビット システムは、
パスの処理
ファイル システム パスを処理する場合、パス モジュールを使用すると、正しい PATH 区切り文字 (Unix では「/」、Windows では「」) が使用されます。
path.join(mydir, "foo" );
スクリプトを実行します
シェル スクリプトの名前が myscript.js の場合は、次のように実行できます:
node myscript.js arg1 arg2 ...
Unix の場合スクリプトの最初の行にコード行を追加して、このスクリプトを解釈するためにどのプログラムを使用するかをオペレーティング システムに指示できます:
#!/usr/bin/env node
また、スクリプトに実行権限を与える必要があります:
chmod u x myscript.js
これで、スクリプトを独立して実行できるようになります:
./myscript.js arg1 arg2 ...
その他のトピック
関連記事
- ヒント: Node.js シェルのファイルからソースをロードします
- Node.js REPL が開始されるたびにコードを実行します