parse_path()

Analisa um caminho string de arquivo e retorna um dynamic objeto que contém as seguintes partes do caminho:

  • Esquema
  • RootPath
  • Directorypath
  • DirectoryName
  • Nome de arquivo
  • Extensão
  • AlternateDataStreamName

Além dos caminhos simples com ambos os tipos de barras, a função dá suporte a caminhos com:

  • Esquemas. Por exemplo, "file://..."
  • Caminhos compartilhados. Por exemplo, "\shareddrive\users..."
  • Caminhos longos. Por exemplo, "\?\C:...""
  • Fluxos de dados alternativos. Por exemplo, "file1.exe:file2.exe"

Syntax

parse_path(path)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
path string ✔️ O caminho do arquivo.

Retornos

Um objeto do tipo dynamic que incluiu os componentes de caminho, conforme listado acima.

Exemplo

datatable(p:string) 
[
    @"C:\temp\file.txt",
    @"temp\file.txt",
    "file://C:/temp/file.txt:some.exe",
    @"\\shared\users\temp\file.txt.gz",
    "/usr/lib/temp/file.txt"
]
| extend path_parts = parse_path(p)

Saída

p path_parts
C:\temp\file.txt {"Scheme":"","RootPath":"C:","DirectoryPath":"C:\temp","DirectoryName":"temp","Filename":"file.txt","Extension":"txt","AlternateDataStreamName":""}
temp\file.txt {"Scheme":"","RootPath":"","DirectoryPath":"temp","DirectoryName":"temp","Filename":"file.txt","Extension":"txt","AlternateDataStreamName":""}
file://C:/temp/file.txt:some.exe {"Scheme":"file","RootPath":"C:","DirectoryPath":"C:/temp","DirectoryName":"temp","Filename":"file.txt","Extension":"txt","AlternateDataStreamName":"some.exe"}
\shared\users\temp\file.txt.gz {"Scheme":"","RootPath":"","DirectoryPath":"\\shared\users\temp","DirectoryName":"temp","Filename":"file.txt.gz","Extension":"gz","AlternateDataStreamName":""}
/usr/lib/temp/file.txt {"Scheme":"","RootPath":"","DirectoryPath":"/usr/lib/temp","DirectoryName":"temp","Filename":"file.txt","Extension":"txt","AlternateDataStreamName":""}