コンテンツにスキップ

path

Since v8.0.75

pathモジュールは、Node.jsに似たパス操作のヘルパーを提供します。 JSHの既定のエクスポートはPOSIX実装で、path.posixpath.win32の名前空間も提供します。

一般的な使用方法は以下のとおりです。

const path = require('path');

既定のエクスポート

require('path')は、POSIXパスの実装を返します。

既定の動作は以下のとおりです。

  • パス区切り文字は/
  • リスト区切り文字は:
  • join()resolve()などの関数はPOSIX形式で動作

次の名前空間も使用できます。

  • path.posix
  • path.win32

共通プロパティ

プロパティPOSIXwin32
sep/\\
delimiter:;

resolve()

複数のパス要素を絶対パスに解決します。

構文
path.resolve(...segments)

既定の実装では、基準パスが必要な場合に現在の作業ディレクトリを使用します。

normalize()

パス区切り文字を正規化し、...のセグメントを解決します。

構文
path.normalize(value)

isAbsolute()

パスが絶対パスかどうかを返します。

構文
path.isAbsolute(value)

join()

現在のパス形式に従ってパス要素を結合し、結果を正規化します。

構文
path.join(...segments)

relative()

あるパスから別のパスへの相対パスを返します。

構文
path.relative(from, to)

dirname()

パスのディレクトリ部分を返します。

構文
path.dirname(value)

basename()

パスの最後の構成要素を返します。 extを指定すると、一致する接尾辞を除去します。

構文
path.basename(value)
path.basename(value, ext)

extname()

先頭のドットを含むファイル拡張子を返します。

構文
path.extname(value)

parse()

パスを構造化したフィールドに分解します。

構文
path.parse(value)
戻り値

parse()は、以下のフィールドを持つオブジェクトを返します。

  • root
  • dir
  • base
  • ext
  • name

format()

解析済みのパスオブジェクトからパス文字列を構成します。

構文
path.format(pathObject)

pathObjectには、dirrootbasenameextを指定できます。

使用例

1
2
3
4
5
6
const path = require('path');

console.println(path.join('/work', 'demo', 'file.txt'));
console.println(path.dirname('/work/demo/file.txt'));
console.println(path.basename('/work/demo/file.txt', '.txt'));
console.println(path.extname('/work/demo/file.txt'));

parse()/format() 例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const path = require('path');

const parsed = path.parse('/work/demo/file.txt');
console.println(JSON.stringify(parsed));

const rebuilt = path.format({
    dir: '/work/demo',
    name: 'file',
    ext: '.txt'
});
console.println(rebuilt);

POSIX / win32名前空間

既定の動作に関係なくPOSIXまたはWindowsのパス規則を明示的に使用するには、path.posixまたはpath.win32を指定します。

1
2
3
4
const path = require('path');

console.println(path.posix.join('/a', 'b', 'c.txt'));
console.println(path.win32.join('C:\\temp', 'demo', 'file.txt'));

動作に関する注意

  • JSHの既定のエクスポートはPOSIXに基づきます。
  • 公開関数では、該当する引数に文字列が必要です。入力が不正な場合はTypeErrorが発生します。
  • parse()format()は、Node.jsに似たオブジェクト構造を使用します。
  • JSHをWindows以外のシステムで実行している場合も、path.win32を使用できます。
最終更新日