
メールを送信するための簡単なバッチ ファイルを作成しようとしています。オンラインで見つけた手順に従って、次のような簡単な例を思いつきました。
START mailto:[email protected][email protected]&subject=MySubject&body=MyBody
これを実行すると、適切な宛先フィールドと CC フィールドが入力された新しい電子メールが Outlook で開きますが、件名と本文は空になります。
コマンド ウィンドウに次のエラー出力が表示されます。
'subject' は、内部または外部のコマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません。 'body' は、内部または外部のコマンド、操作可能なプログラム、またはバッチ ファイルとして認識されません。
引数の順序を変更すると、? の後に続くものはすべて機能しますが、& の後のものはすべて失敗します。
ここで何が間違っているのか分かりますか?
ありがとう!
答え1
二重引用符。
START mailto:[email protected][email protected]&subject=MySubject&body=MyBody
なる
START mailto:"[email protected][email protected]&subject=MySubject&body=MyBody"
答え2
アンパサンド (&) は、単一のコマンド ラインで複数のステートメントを区切るために使用される文字です。START
は実行を試行 (成功) しますが、次に "subject=MySubject" を実行しようとして失敗します。そのため、subject がコマンドとして認識されないというエラー メッセージが表示されます。mailto:[email protected][email protected]
アンパサンドをキャレットで「エスケープ」する方法も有効だと思います。例:
START mailto:[email protected][email protected]^&subject=MySubject^&body=MyBody