†REXXのどろぬま†
作成開始日 2012.02.03
最終更新日 2021.06.04
MD命令では多階層のディレクトリをいきなり作成することができない。SysMkDirならば可能かもしれないが(未確認)、INIに情報が書き込まれるのが嫌だ。と言うことで、スクリプトを書いてみた。要するに、頭から順番にディレクトリを切り出していって、存在しないディレクトリであればMD命令で作成する、と言うアルゴリズム。
mdir='g:\mydir\abc\xyz\123\' /*末尾\必須*/
p=0
Do While POS('\',mdir,p+1)>0
p=POS('\',mdir,p+1)
xdir=left(mdir,p-1)
IF length(xdir)>2 THEN
Do
rc=SysFileTree(xdir,yn,'D')
If yn.0=0 then '@MD' xdir
End;
End;
う〜ん、仕様的に末尾の「\」は無しにする方が自然か…。あと、POSで分解するより、PARSEで分解する方がエレガントかな。