改良版はこちら↓
旧版
Windows環境のTeX周りを充実させておこうと思って、バッチファイルを書いてた時に作った。
これを使って実行したバッチファイルがあるディレクトリ名を取得して、WinShellのプロジェクトファイルを自動生成できるようにした。
C:\Dir\SubDir\batch.batを実行したときに「SubDirの部分だけ」を取ってこようというもの。
@echo off set CDS=%~dp0 set /a SIZE=256 set /a N=-1 set /a NS=0 set /a NE=0 :loop set /a N+=1 call set STR=%%CDS:~%N%,1%% if "%STR%"=="\" ( set /a NS=NE set /a NE=N ) if %N%==%SIZE% goto break goto loop :break set /a NS=NS+1 set /a NE=NE-NS call set CDN=%%CDS:~%NS%,%NE%%% echo %CDN% PAUSE
単にカレントディレクトリをフルパスで欲しいときは簡単。
%CD%
DOS窓で「echo %CD%」とか、「cd ../」「echo %CD%」とか打ってみると分かりやすい。