1

Visual Studio 2012 の devenv.exe を使用してフォルダー内のすべての *.sln ファイルをビルドするバッチ スクリプトを作成しようとしていますが、問題が発生しています。次のコードでは、「「forfiles」は内部コマンドまたは外部コマンドとして認識されません...」というメッセージが表示されます。

Windows 7 Enterprise N 64 ビットを実行しているコンピューターからこれを実行しています。

@echo off

SET executablePath = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
SET buildConfig = "Release"

cls

forfiles /m *.sln /c "cmd %executablePath% @file /build %buildConfig%"
4

2 に答える 2

0

私のバッチは少し貧弱ですが、PC に Powershell がインストールされている場合は、次のようなものを使用できます。

$SLNDirectory = "<Path_to_SLN_Files>"
$executablePath = "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
$buildConfig = "Release"
Clear
$Files = Get-ChildItem $SLNDirectory
Foreach($File in $Files){
$Extension = [System.IO.Path]::GetExtension($File).ToString()
    If ($Extension -eq ".sln"){
        $theFile = $File.Name
        [Array]$SLNFiles +=$theFile 
    }
}

Foreach($SLNFile in $SLNFiles){
    & "$executablePath $SLNFile /build $buildConfig"
}
于 2013-03-27T23:15:11.630 に答える
0

これを試してください(バッチスクリプト):

@echo off

SET "executablePath=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
SET "buildConfig=Release"

cls

for %%i in (*.sln) do cmd /c "%executablePath%" "%%~i" /build %buildConfig%
于 2013-03-28T00:47:14.413 に答える