ユーザー必読!コマンドライン(DOS Pt.6)

このエントリーをはてなブックマークに追加
488名無し~3.EXE
バッチファイルを作ってそれに対象のファイルをD&Dすることで作業を半自動化しています。
でっすが困ったことにバッチファイルの中に%1を記述して、そこにD&Dしたファイルへの
絶対パスを格納しようとしてもその中に全角スペースがあると正常に動作しないのです。例えば
C:\temp\aabbcc.txt
みたいなファイルをD&Dする分には問題ないのですが
C:\temp\aa bb cc.txt
みたいなファイルをD&DするとC:\temp\aaまでが第一引数
そのあとのbbとcc.txtはそれぞれ第二、第三引数として扱われてしまうのです。
コマンドプロンプトに直接記述したときは間に全角スペースがあっても全体で一つのパスとして
扱われますし、バッチファイル内の記述するときに引数を""で囲んでも解決しませんでした。
どうすればよろしいでしょうか?
489名無し~3.EXE:2008/02/16(土) 17:23:01 ID:gHdxG/Ym
うそだろ、そんなわけない
490名無し~3.EXE:2008/02/16(土) 17:41:52 ID:gHdxG/Ym
ごめん、ほんとだ。ドロップハンドラの障害だから、
VBSFileのドロップハンドラをbatfileに指定してやればいいよ。
491名無し~3.EXE:2008/02/16(土) 17:45:29 ID:bHZJ+HSt
>>489
自分もそう思いたいところなんですが・・・

@echo off
echo %1
echo %~1
echo "%1"
pause

試しに上記の内容の.batファイルを作ってそこに前述の
C:\temp\aa bb cc.txtをD&Dしてみたところ、表示結果が

C:\temp\aa
C:\temp\aa
"C:\temp\aa"
続行するには何かキーを押してください . . .

でした、友人にもお願いして試してみてもらったところ同じ状況みたいです@XP SP2
492名無し~3.EXE:2008/02/16(土) 18:29:02 ID:bHZJ+HSt
>>490
入れ違いになってしまいましたが、ありがとうございます。
これは一種のバグ・・・でいいんでしょうか?
問題は自分がVBSのことが全くわからないことですね orz
493名無し~3.EXE:2008/02/16(土) 19:00:54 ID:gHdxG/Ym
>問題は自分がVBSのことが全くわからないことですね orz
VBSはかんけーねー
VBSFileのドロップハンドラを借用するだけ

あるいは、回避策
c:\tempをc:\temp folderにすれば?
494名無し~3.EXE:2008/02/16(土) 19:58:43 ID:gHdxG/Ym
ドロップハンドラはかんけーねーみたい
cmd.exeの引数分離の障害仕様だね
495名無し~3.EXE:2008/02/16(土) 20:13:55 ID:bHZJ+HSt
>>493-494
どうもありがとうございます。ドロップパンドラはググっても理解できません
でしたが、これで踏ん切りがついたので回避策を使うことにします。

仕様か、なんて全てを包み込むような包容力のある言葉なんd(ry