【Node.js24.x】Object::cpSync()メソッドの使い方
cpSyncメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
cpSyncメソッドは、Node.jsのfs(ファイルシステム)モジュールに属し、ファイルやディレクトリを同期的にコピーするメソッドです。このメソッドは、指定されたコピー元(src)からコピー先(dest)へ、ファイルやディレクトリを複製する機能を提供します。ここでいう「同期的に」とは、ファイルコピーの処理が完全に完了するまで、プログラムの次の処理が一時停止し、コピーが終わるのを待つことを意味します。
主な用途としては、アプリケーションのセットアップ時に必要な設定ファイルの配置や、ファイルの一時的なバックアップ、シンプルなファイル操作を伴うスクリプトなどで利用されます。第一引数にはコピー元のファイルまたはディレクトリのパスを、第二引数にはコピー先のパスを指定します。
さらに、第三引数にオプションオブジェクトを渡すことで、コピーの挙動を詳細に制御できます。例えば、recursive: trueを設定すると、ディレクトリとその内部のファイルやサブディレクトリをまとめてコピーできます。また、force: trueを指定することで、コピー先に同名のファイルやディレクトリが既に存在する場合でも上書きしてコピーすることが可能です。
注意点として、同期処理であるため、コピー対象のファイルサイズが大きい場合や、大量のファイルをコピーする場合、プログラム全体の実行が一時的にブロックされる可能性があります。特に、Webアプリケーションなど高い応答性が求められる環境では、プログラムの応答性が低下する原因となるため、非同期版のfs.cpメソッドの利用を検討してください。コピー処理中に問題が発生した場合は、例外としてエラーがスローされますので、適切なエラーハンドリングが必要です。
構文(syntax)
1import { cpSync } from 'node:fs'; 2 3cpSync('path/to/source.txt', 'path/to/destination.txt');
引数(parameters)
src, dest, options
- src: string | Buffer | URL | ReadStream: コピー元となるファイルパス、Buffer、URL、または読み込みストリーム
- dest: string | Buffer | URL | WriteStream: コピー先のファイルパス、Buffer、URL、または書き込みストリーム
- options: object: コピー処理のオプションを指定するオブジェクト。以下のプロパティを持つことができます。
- dereference: boolean: シンボリックリンクをたどるかどうか(デフォルト: false)
- force: boolean: コピー先に同名ファイルが存在する場合に上書きするかどうか(デフォルト: true)
- overwrite: boolean: コピー先に同名ファイルが存在する場合に上書きするかどうか(
forceと同じ挙動、デフォルト: true) - filter: string | RegExp | Function: コピー対象とするファイルをフィルタリングする文字列、正規表現、または関数
戻り値(return)
戻り値なし
戻り値はありません