• 締切済み

SendToで全角スペースを含むパスが正常に渡せない

以下の様なテストスクリプト作り、SendToフォルダに入れます。 ファイルでもフォルダでもかまわないので、全角スペースを含む名前で作成します。 これを選択して、コンテキストメニューの送る→test.cmdを実行します。 test.cmd -------- echo %%1 "%1" echo %%2 "%2" echo %%3 "%3" echo %%4 "%4" pause 本来なら、 %1 に入るはずのパスが、全角スペースの部分で分割され、複数のパラメータに入ってしまっていると思います。 これは、Windowsのバグなのでしょうか? 何か回避する方法はありませんか。

みんなの回答

  • Repetez
  • ベストアンサー率54% (132/242)
回答No.3

その二つのファイルをデスクトップに置いた場合と 例えばドライブのルートに置いた場合では挙動が変わりますか? なんかかなり前に問題になっていたような気がしますね。 普通だったらショートファイルネームとして処理されるのに そうじゃない場合があってみたいな話だったかな? 忘れちゃいましたねえ。

euthanasia
質問者

補足

アドバイスありがとうございます。 パスの中に半角スペースがあると、全角スペースで分割される現象は起きないようです。 "C:\te st\新規テキスト ドキュメント.txt" これなら、 %1 にフルパスで入ります。 "C:\test\新規テキスト ドキュメント.txt" は、 %1 "C:\test\新規テキスト" %2 "ドキュメント.txt" %3 "" %4 "" となります。

  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.2

私の環境でも普通に%1にフルパスで入りました。 "新規 テキスト ドキュメント.txt"も"新規テキスト ドキュメント.txt" もOKです。 * WindowsXP pro sp3

euthanasia
質問者

お礼

検証ありがとうございました。

euthanasia
質問者

補足

Windows XP Professional SP3 で確認してみましたが、やはり、全角スペースで分割されます。

noname#140925
noname#140925
回答No.1

貴方のPCがおかしいだけだと思います。 記載されているバッチファイルをsendtoに登録して試しましたが、ちゃんと%1に、フルパスまとめて入ってます。 WinXP Pro SP3にて。

euthanasia
質問者

補足

アドバイスありがとうございます。 正常に処理される場合とそうでないがあるようです。 例えば、 "新規 テキスト ドキュメント.txt" は問題ないのですが、 "新規テキスト ドキュメント.txt" は、私の環境では全角スペースで分割されて、 %1 "U:\___Work\新規テキスト" %2 "ドキュメント.txt" %3 "" %4 "" となります。

関連するQ&A