Módulo
Conteúdo
Índice 🔎︎

# Instrução MkDir

Cria um novo diretório num suporte de dados.

## Sintaxe:

    MkDir Texto As String

## Parâmetros:

Texto: qualquer expressão em caracteres que especifique o nome e caminho do diretório a criar. Também pode utilizar a notação URL.

Se o caminho não estiver determinado, o diretório é criado no diretório atual.

## Códigos de erro

5 Chamada de procedimento inválido

76 Caminho não encontrado

## Exemplo:

    Sub ExampleFileIO

    ' Exemplo para funções de organização de ficheiros

    Const sFile1 As String = "file://c|/autoexec.bat"

    Const sDir1 As String = "file://c|/Temp"

    Const sSubDir1 As String ="Teste"

    Const sFile2 As String = "Copiado.tmp"

    Const sFile3 As String = "Renomeado.tmp"

    Dim sFile As String

        sFile = sDir1 + "/" + sSubDir1

        ChDir( sDir1 )

        If Dir(sSubDir1,16)="" Then ' O diretório existe?

            MkDir sSubDir1

            MsgBox sFile,0,"Criar diretório"

        End If

        sFile = sFile + "/" + sFile2

        FileCopy sFile1 , sFile

        MsgBox fSysURL(CurDir()),0,"Diretório atual"

        MsgBox sFile & Chr(13) & FileDateTime( sFile ),0,"Data de criação"

        MsgBox sFile & Chr(13)& FileLen( sFile ),0,"Comprimento do ficheiro"

        MsgBox sFile & Chr(13)& GetAttr( sFile ),0,"Atributos do ficheiro"

        Name sFile As sDir1 + "/" + sSubDir1 + "/" + sFile3

        ' Mudar nome no mesmo diretório

        sFile = sDir1 + "/" + sSubDir1 + "/" + sFile3

        SetAttr( sFile, 0 ) 'Elimina todos os atributos

        MsgBox sFile & Chr(13) & GetAttr( sFile ),0,"Novos atributos do ficheiro"

        Kill sFile

        RmDir sDir1 + "/" + sSubDir1

    End Sub

    ' Converte um caminho do sistema num URL

    Function fSysURL( fSysFp As String ) As String

    Dim iPos As String

        iPos = 1

        iPos = Instr(iPos,fSysFp, getPathSeparator())

        Do While iPos > 0

            Mid( fSysFp, iPos , 1,"/")

            iPos = Instr(iPos+1,fSysFp, getPathSeparator())

        Loop

        ' os dois pontos no DOS

        iPos = Instr(1,fSysFp,":")

        If iPos > 0 Then Mid( fSysFp, iPos , 1,"|")

        fSysURL = "file://" & fSysFp

    End Function