.batでカレントディレクトリ名だけを取得する【メモ】

  • 0
    いいね
  • 0
    コメント

    やりたいこと

    カレントディレクトリのパスではなく、カレントディレクトリ名だけを取得したい。

    つまり、出力結果として、C:\build\sample01ではなく
    sample01がほしい。

    使いどころ

    CMakeでout-source-buildするときの下準備として、
    ソースコードと同名のフォルダを自動生成したい。

    (参考)カレントディレクトリのパスを取得する

    %CD%
    

    カレントディレクトリ名だけを取得する

    ついでにその同名フォルダを生成。

    hoge.bat
    @echo off  
    :: set build directory  
    call ..\tools\GetCdName.bat .
    set BUILD_DIR=C:\build\%DIRNAME%  
    mkdir -p %BUILD_DIR%
    exit /b  
    
    \tools\GetCdName.bat
    @echo off
    call set DIRNAME=%~n1
    echo %DIRNAME%
    exit /b
    

    %~nで、ファイル名だけを抜き出すことができる。
    これを対象フォルダのパスに対して行う。