Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - English


pathconvert

converts a path to an OS path format.

Syntax

paths = pathconvert(paths)
paths = pathconvert(paths, flagtrail)
paths = pathconvert(paths, flagtrail, flagexpand)
paths = pathconvert(paths, flagtrail, flagexpand, type)

Arguments

paths

a string matrix giving a set of file paths

flagtrail

optional boolean, used to add a trailing file separator to the paths (\ or /, depending on the target path format). Default value is true (%t).

flagexpand

optional boolean, used to expand leading variables in paths. Default value is true (%t).

type

optional string, used to specify the target path format: 'u' for POSIX path format (GNU/Linux,...), and 'w' for Windows path format.

Description

pathconvert is used to convert a set of paths, to be compatible with an OS (Operating System) path format. For example Windows path style uses / for file separator, while it is \ on other OS.

By default, the paths are converted to the current OS path format (but another path format can be specified with argument type).

When some Windows-like paths starting with a drive letter like "C:" are converted to a non-Windows format, the drive letter is then converted using the cygwin convention, with the /cygdrive/ header. For example, C:\tmp will be converted to /cygdrive/C/tmp.

flagtrail is used to add or remove a file separator (depending on the target path format) to the end of paths. When the parameter is set to true, a trailing file separator is added if missing. Otherwise, the trailing file separators are removed.

flagexpand is used to expand the leading Scilab environment variables in paths. The following variables are accepted:

  • SCI
  • WSCI
  • SCIHOME
  • TMPDIR
  • home (or ~)
WSCI is unknown on GNU/Linux and ~ in term "path" is unknown on Windows.

Examples

pathconvert("SCI/modules/foo", %f, %t, "w")
pathconvert("SCI\modules\foo", %f, %t, "u")
pathconvert("SCI\modules\foo", %t, %t, "u")
pathconvert("SCI/modules/foo", %f, %f, "w")
pathconvert("SCI/modules/foo", %t, %f, "w")
pathconvert("C:/tmp", %f, %f, "u")
pathconvert("/cygdrive/c/tmp", %f, %f, "w")

See also

History

VersionDescription
5.2.0 flagtrail=%f now removes existing trailing "/" or "\" separators.
Report an issue
<< is_absolute_path Paths - Filenames pathsep >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:37:07 CEST 2023