- 2009/02/09 17:21
- 雑記
.batにドラッグ&ドロップしたファイルのパスが取得したいなということで、調べたら見つかりました。
リンク ① ②
そして一応自分用にまとめ。
例: aaa\bbb.abc → aaa\bbb.def
%~d1
cd %~p1
ren %~1 %~n1.def
%~d1→%1をドライブ名だけに展開する。
%~p1→%1をパスだけに展開する。
%~n1→%1をファイル名だけに展開する。
なるほど、%~d1はドライブ、、、
Windowsのバッチはドライブの扱いが面倒です。
cdだけじゃ移動できんてどういう、、、
ちなみにたとえばこんなbatがあるとします。
echo %~d1
echo %~p1
echo %~n1
echo %~1
ほんでそれをtest.batとして、引数与えて実行してみます。
test.bat "C:\Documents and Settings\username\image.tif"
すると結果はこうです。
C:
\Documents and Settings\username\
image
C:\Documents and Settings\username\image.tif
で、ドライブとディレクトリを両方とりたい場合は、
%~dp1って感じで併せて使うことが可能なようです。
そうすると上記例の場合、
C:\Documents and Settings\username\
って感じで取得できますね。
こういうのまとめてくれてる方がいて、ホントに助かります。感謝。
- Newer: TouchDesigner 077
- Older: AO bench meets MEL
Comments:6
- Co, 2009/02/10
これ便利だね。
AEのレンダリングでたいしてオプションも指定できないのにパス書き換えるの面倒だったから助かったよ。
CS3のマルチマシン設定が微妙でメモリ不足で止まったりするから、バッチ四つ立ち上げて回した方が速い事が多いから重宝しますわ。- tai 2009/02/11
>Co,さん
きっかけは某社の制作さんが書いてたbatなんですけどね:PAEのレンダリングとかいいかも、ですね確かに。
ドラッグ&ドロップでレンダリング。- Co, 2009/02/13
>マルチマシン設定
マルチスレッド設定の間違いですね。
CS4は大分マシなんですが…。>ドラッグ&ドロップでレンダリング
まさにそんな感じ。バッチも一行で済むしお手軽です。
右クリックの送るに登録してしまいました。- tai 2009/02/13
>Co,さん
CS3のマルチスレッド、CPUあるだけ使っちゃおうとするらしいですね、、、
すぐにメモリが足りなくなりそう。右クリックに登録するのいいですね!
それは僕も真似しようかな。- 匿名 2010/03/10
> cdだけじゃ移動できんてどういう、、、
cd /d を使うとよいと思います。
- tai 2010/03/12
>匿名さん
コメントどもです。cd /d!!
それは知りませんでした!
今度試してみます。ありがとうございます!
Trackbacks:0
- Trackback URL for this entry
- http://blog.taikomatsu.com/2009/02/09/windows%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e5%bc%95%e6%95%b0%e3%81%ae%e5%87%a6%e7%90%86/trackback/
- Listed below are links to weblogs that reference
- [Windowsコマンドプロンプト]引数の処理 from memlog