バッチファイルを作ってそれに対象のファイルを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はそれぞれ第二、第三引数として扱われてしまうのです。
コマンドプロンプトに直接記述したときは間に全角スペースがあっても全体で一つのパスとして
扱われますし、バッチファイル内の記述するときに引数を""で囲んでも解決しませんでした。
どうすればよろしいでしょうか?
うそだろ、そんなわけない
ごめん、ほんとだ。ドロップハンドラの障害だから、
VBSFileのドロップハンドラをbatfileに指定してやればいいよ。
>>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
>>490 入れ違いになってしまいましたが、ありがとうございます。
これは一種のバグ・・・でいいんでしょうか?
問題は自分がVBSのことが全くわからないことですね orz
>問題は自分がVBSのことが全くわからないことですね orz
VBSはかんけーねー
VBSFileのドロップハンドラを借用するだけ
あるいは、回避策
c:\tempをc:\temp folderにすれば?
ドロップハンドラはかんけーねーみたい
cmd.exeの引数分離の障害仕様だね
>>493-494 どうもありがとうございます。ドロップパンドラはググっても理解できません
でしたが、これで踏ん切りがついたので回避策を使うことにします。
仕様か、なんて全てを包み込むような包容力のある言葉なんd(ry