Visual Studio のビルド前のイベント コマンドで二重引用符を使用すると問題が発生しました。この問題に対するバッチ ファイルの解決策を見てきましたが、バッチ ファイルがすべての問題を解決するとは限らず、洗練されていないようです。 解決策は、終了二重引用符の前にスペースを入れることであることがわかりました。 詳細は以下の通りです。
次のコマンドは機能しましたが、パス内のスペースはサポートされませんでした:
subwcrev $(SolutionDir) $(SolutionDir)subwcrev_template.txt $(SolutionDir)version.h
他の開発者がソリューションをどこに配置するかについてはほとんど制御できないため、パス内のスペースをサポートする必要がありました。パスを引用符で囲んでスペースをサポートしようとして、次のコマンドを思いつきました。それは常に失敗します。
subwcrev "$(SolutionDir)" "$(SolutionDir)subwcrev_template.txt" "$(SolutionDir)version.h"
ほとんど偶然に、パスの最後の文字と二重引用符の間にスペースを入れて解決策を見つけました。
subwcrev "$(SolutionDir) " "$(SolutionDir)subwcrev_template.txt " "$(SolutionDir)version.h "
これはうまくいきました。Visual Studio Shell を使用する AVR Studio 6.1 でこれをテストしました。