parse_path()

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

  • Scheme
  • RootPath
  • DirectoryPath
  • DirectoryName
  • Nome do ficheiro
  • Extensão
  • AlternateDataStreamName

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

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

Syntax

parse_path(caminho)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
caminho string ✔️ O caminho do ficheiro.

Devoluções

Um objeto do tipo dynamic que incluía 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":""}