目次
索引 🔎︎

# MkDir Statement

データ記録媒体上に新規ディレクトリを作成します。

## 構文:

    MkDir Text As String

## パラメーター:

Text: 作成するディレクトリの名前およびパスを指定する文字列表式。またURL 指定を用いることもできます。

有効なパスが指定されなかった場合、現在のディレクトリの中に新規ディレクトリが作成されます。

## Error codes:

5 無効なプロシージャー呼び出しです

76 パスが見つかりません

## 例:

    Sub ExampleFileIO
    ' ファイルを整理するための機能の例
    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 ' ディレクトリが存在するかの確認
            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,"ファイルサイズ"
        MsgBox sFile & Chr(13)& GetAttr( sFile ),0,"ファイル属性"
        Name sFile As sDir1 + "/" + sSubDir1 + "/" + sFile3
        ' 同一ディレクトリ内で名前を変更
        sFile = sDir1 + "/" + sSubDir1 + "/" + sFile3
        SetAttr( sFile, 0 ) 'すべての属性の削除
        MsgBox sFile & Chr(13) & GetAttr( sFile ),0,"New file attributes"
        Kill sFile
        RmDir sDir1 + "/" + sSubDir1
    End Sub

    ' システムパスを 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
        ' DOS のコロン処理
        iPos = Instr(1,fSysFp,":")
        If iPos > 0 Then Mid( fSysFp, iPos , 1,"|")
        fSysURL = "file://" & fSysFp
    End Function