- 締切済み
SendToで全角スペースを含むパスが正常に渡せない
以下の様なテストスクリプト作り、SendToフォルダに入れます。 ファイルでもフォルダでもかまわないので、全角スペースを含む名前で作成します。 これを選択して、コンテキストメニューの送る→test.cmdを実行します。 test.cmd -------- echo %%1 "%1" echo %%2 "%2" echo %%3 "%3" echo %%4 "%4" pause 本来なら、 %1 に入るはずのパスが、全角スペースの部分で分割され、複数のパラメータに入ってしまっていると思います。 これは、Windowsのバグなのでしょうか? 何か回避する方法はありませんか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Repetez
- ベストアンサー率54% (132/242)
その二つのファイルをデスクトップに置いた場合と 例えばドライブのルートに置いた場合では挙動が変わりますか? なんかかなり前に問題になっていたような気がしますね。 普通だったらショートファイルネームとして処理されるのに そうじゃない場合があってみたいな話だったかな? 忘れちゃいましたねえ。
- Yorisin
- ベストアンサー率54% (364/663)
私の環境でも普通に%1にフルパスで入りました。 "新規 テキスト ドキュメント.txt"も"新規テキスト ドキュメント.txt" もOKです。 * WindowsXP pro sp3
お礼
検証ありがとうございました。
補足
Windows XP Professional SP3 で確認してみましたが、やはり、全角スペースで分割されます。
貴方のPCがおかしいだけだと思います。 記載されているバッチファイルをsendtoに登録して試しましたが、ちゃんと%1に、フルパスまとめて入ってます。 WinXP Pro SP3にて。
補足
アドバイスありがとうございます。 正常に処理される場合とそうでないがあるようです。 例えば、 "新規 テキスト ドキュメント.txt" は問題ないのですが、 "新規テキスト ドキュメント.txt" は、私の環境では全角スペースで分割されて、 %1 "U:\___Work\新規テキスト" %2 "ドキュメント.txt" %3 "" %4 "" となります。
補足
アドバイスありがとうございます。 パスの中に半角スペースがあると、全角スペースで分割される現象は起きないようです。 "C:\te st\新規テキスト ドキュメント.txt" これなら、 %1 にフルパスで入ります。 "C:\test\新規テキスト ドキュメント.txt" は、 %1 "C:\test\新規テキスト" %2 "ドキュメント.txt" %3 "" %4 "" となります。