夜行録 - 酔歩.net

日暮れて道遠し さらに夜道を行く もって夜行録と名付く

DOS バッチファイル

さっきの件の続き。諦めて、ファイルのフルパスは環境変数渡しにして、バッチファイル側でカレントディレクトリ名と第一引き数で受けたファイル名を合成してフルパスを作って渡してやることにする。

DOS のバッチファイルは(なにせ CP/M なんかと同世代だったし)、 Unix のシェルと較べると低機能だとは思っていたが、まさかカレントディレクトリを取得する手段がないとは思ってもみなかったorz。 ・・・低機能にもホドがある。ありえ、な?い?♪
代りに、 argv[0] からディレクトリ部分を切り出すことはできるようなので、バッチファイル自体をターゲットのディレクトリに起くソリューション。

参考:DOSのバッチファイルでカレントフォルダを取得するには? -OKWave

こんなコード断片で、一応任意のファイルのフルパスと、拡張子を変更したものが作れている。

echo off
set FDIR=%~dp0%1
set ODIR=%~dp0%~n1.jpg
2008年03月19日 (Wed) - 01:52:52 - その他雑記 - 4015x - permalink
Karma points: 2. Do you like this article? [yes/no]