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