Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Convert Path

Convert between POSIX and Windows paths.

Usage

var convertPath = require( '@stdlib/utils/convert-path' );

convertPath( from, to )

Converts between POSIX and Windows paths.

var p = convertPath( 'C:\\foo\\bar', 'posix' );
// returns '/c/foo/bar'

The following output path conventions are supported:

  • win32: Windows path convention; e.g., `C:\foo\bar'.
  • mixed: mixed path convention (Windows volume convention and POSIX path separator); e.g., C:/foo/bar.
  • posix: POSIX path convention; e.g., /c/foo/bar.

Notes

  • A Windows extended-length path cannot be converted to either a mixed or posix path convention, as forward slashes cannot be used as path separators.
  • If a POSIX path begins with /[A-Za-z]/ (e.g., /c/), the path is assumed to begin with a volume name.
  • The function makes no attempt to verify that a provided path is valid.

Examples

var convertPath = require( '@stdlib/utils/convert-path' );

var p1;
var p2;

p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'win32' );
// returns 'c:\\foo\\bar\\beep.c'

p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'mixed' );
// returns 'c:/foo/bar/beep.c'

p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'posix' );
// returns '/c/foo/bar/beep.c'

p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'win32' );
// returns 'C:\\\\foo\\bar\\beep.c'

p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'mixed' );
// returns 'C:/foo/bar/beep.c'

p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'posix' );
// returns '/c/foo/bar/beep.c'

CLI

Usage

Usage: convert-path [options] [<path>] --out=<output>

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  -o,    --out output          Output path convention.

Examples

$ convert-path /c/foo/bar --out=mixed
c:/foo/bar

To use as a standard stream,

$ echo -n '/c/foo/bar' | convert-path --out=win32
c:\foo\bar