Visual StudioでネイティブC++プロジェクトを作って人様に渡す場合、Releaseフォルダとか、Debugフォルダとか渡したくありませんね(vss関係のファイルもだけど)。今日2時間くらい頭をひねっていたのですが、どうにもいい手段が思い浮かびませんでした。結局こうしました。
PS>copy-item -path コピー元 -destination コピー先 -include *.* -recurse PS>remove-item -include release,debug -recurse
コピーしてから削除orz。ちなみに挑戦していたのはこんなスクリプト。
get-childitem -path コピー元 -include *.* -exclude .pdb,.obj,.dll,.map,.htm,.exp -recurse | foreach-object{ $dest = コピー先 + $_.directory // これではc;\dev\folder\c:\dev\folder\source1.cpp みたいになってNG $source = $_.directory + "\" + $_.Name // これはパスが不正と言われる $source = $_ // これでは hoge.cpp 部分しか出てこない $source = $_.Name copy-item $source -destination $dest -recurse }
ちゃんと型変換してやればいいのでしょうが、どうもこの辺の規則性がよくわかりません。