Contents
Index 🔎︎

# MkDir Statement

Creates a new directory on a data medium.

### Syntax:

    MkDir path

### Parameters:

path: Any string expression that specifies the name and path of the directory to be created. You can also use URL notation.

If the path is not determined, the directory is created in the current directory.

### Error codes:

5 Invalid procedure call

76 Path not found

### Example:

    Sub ExampleFileIO
    ' Example for functions of the file organization
    Const sFile1 As String = "file://c|/autoexec.bat"
    Const sDir1 As String = "file://c|/Temp"
    Const sSubDir1 As String ="Test"
    Const sFile2 As String = "Copied.tmp"
    Const sFile3 As String = "Renamed.tmp"
    Dim sFile As String
        sFile = sDir1 + "/" + sSubDir1
        ChDir( sDir1 )
        If Dir(sSubDir1,16)="" Then ' Does the directory exist?
            MkDir sSubDir1
            MsgBox sFile,0,"Create directory"
        End If
        sFile = sFile + "/" + sFile2
        FileCopy sFile1 , sFile
        MsgBox fSysURL(CurDir()),0,"Current directory"
        MsgBox sFile & Chr(13) & FileDateTime( sFile ),0,"Creation time"
        MsgBox sFile & Chr(13)& FileLen( sFile ),0,"File length"
        MsgBox sFile & Chr(13)& GetAttr( sFile ),0,"File attributes"
        Name sFile As sDir1 + "/" + sSubDir1 + "/" + sFile3
        ' Rename in the same directory
        sFile = sDir1 + "/" + sSubDir1 + "/" + sFile3
        SetAttr( sFile, 0 ) 'Delete all attributes
        MsgBox sFile & Chr(13) & GetAttr( sFile ),0,"New file attributes"
        Kill sFile
        RmDir sDir1 + "/" + sSubDir1
    End Sub

    ' Converts a system path in 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
        ' the colon with DOS
        iPos = Instr(1,fSysFp,":")
        If iPos > 0 Then Mid( fSysFp, iPos , 1,"|")
        fSysURL = "file://" & fSysFp
    End Function