MkDir Statement

Creates a new directory on a data medium.


MkDir Text As String


Text: 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:

D'oh! You found a bug (text/sbasic/shared/00000003.xhp#err5 not found).

D'oh! You found a bug (text/sbasic/shared/00000003.xhp#err76 not found).


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

Please support us!