トップ回答者
コマンドラインのパス名の簡単化

質問
回答
すべての返信
-
ご返事ありがとうございます。
思い出しました。省略パス名はそんな感じでした。また他のことも参考になりました。それで、件のコマンドライン欄に下記の通り書き、再ビルドをしましたが、このcopyでエラーになります。
ログを見ると正しいように見えます。スペルは間違いないと思うのですが・・・。(librariesフォルダに送ります)
このエラーはソースパスがエラーなのか、デストネーションパスなのでしょうか。copy $(OutDir)\$(ProjectName).dll c:\fxdd\experts\libraries
1>ビルド後のイベントを実行しています...
1>指定されたファイルが見つかりません。
1>Project : error PRJ0019: ツールはエラー コードを返しました : "ビルド後のイベントを実行しています..."ログ
copy C:\Documents and Settings\fujiokashigesada\My Documents\Visual Studio 2008\Projects\binary_eu\Release\binary_eu.dll c:\fxdd\experts\libraries -
マクロが展開された結果、
copy C:\Documents and Settings\fujiokashigesada\My Documents\Visual Studio 2008\Projects\binary_eu\Release\binary_eu.dll c:\fxdd\experts\libraries
になるわけですよね? で、それをcmd.exeに渡すわけです。
cmd.exeは空白で引数を区切りますから、「copy」「C:\Documents」「and」「Settings\fujiokashigesada\My」(以下略)といった引数として認識することになります。当然期待するパスは渡せてません。
どのように書きますかって、そのまま直接書いてください。「copy "$(OutDir)"」と書けば、$(OutDir)が展開されて「copy "C:\Documents and Settings(略)Release"」になります。
// プロジェクトが出力するexe/dllのパスを直接表すマクロもあったはずですけど。
-
こんにちは、sige2 さん。
MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
みなさんから参考になるアドバイスをいただいていているようでしたので、勝手ながら私の方で回答としてマークさせていただきました。
アドバイスくださったみなさん、ありがとうございます。
フォーラムでは、いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますので、sige2 さんもご協力よろしくお願いいたしますね。
今後とも MSDN フォーラムをよろしくお願いいたします。それでは。
__________________________
日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海