2012-02-11 115 views
5

我已經創建了一個compile.bat和run.bat文件,但是當我雙擊它們時,它們將在Windows cmd提示符而不是VS cmd提示符下運行。在VS cmd提示符下運行.bat文件

這是我在我的compile.bat文件:

devenv的FileMgr.sln /重建調試
暫停

在Windows CMD說:「'devenv的不被識別爲一個內部或外部命令,可操作的程序或批處理文件。「

回答

8

如果我沒有記錯,所有的Visual Studio命令提示符都是一個批處理腳本本身,它初始化路徑和環境變量。因此,如果您只是在您的頂部調用該批處理腳本,則會爲腳本提供所有這些設置。

this question,MSVC 2008有這裏的批處理文件:

調用「C:\ Program Files文件\微軟的Visual Studio 2008 \ VC \ vcvarsall.bat

它可能不完全一樣的地方,但它應該是你的機器上類似的東西。

+0

謝謝,它的工作! – jbisa 2012-02-11 06:07:46

+0

@jbisa很高興能有所幫助。你能將它標記爲已回答嗎? – 2012-02-11 06:29:42

+0

我會的,但我需要在15的聲望。此外,由於某些原因,它不再從.bat文件編譯。現在我收到以下錯誤:無法確定VS通用TOols文件夾的位置。 'devenv'不被識別爲內部或外部命令,可操作程序或批處理文件。 它確實工作了一次,不知道爲什麼它不是現在。 – jbisa 2012-02-11 06:44:31

1

VS cmd提示設置一些額外的環境變量並將數據添加到現有的(例如PATH變量)。您可以考慮將devenv的路徑添加到正常路徑。

+0

好的,我應該去系統屬性 - >高級 - >環境變量,然後將「路徑」變量更改爲devenv路徑? – jbisa 2012-02-11 05:54:20

+1

將它添加到路徑中,不要覆蓋!如果你覆蓋,你可能會遇到嚴重的問題。泰勒吉爾的解決方案是另一種不改變系統屬性的方法 – Sascha 2012-02-11 05:57:23

+0

泰勒吉爾的解決方案工作,感謝您的幫助! – jbisa 2012-02-11 06:08:31

2

你需要的devenv.exe出席在您的compile.bat運行位置。請看這裏 - 給予

解決方案只需鍵入devenv.exe的來自co命令行。如果你收到這樣的消息,那麼你的路徑中沒有devenv.exe。 >>>'devenv.exe'不被識別爲內部或外部命令,可操作程序或批處理文件。 >>>爲了解決這個問題,只需從工作文件夾的命令行運行批處理文件vsvars32.bat。運行該批處理文件後,devenv.exe將從該文件夾中的命令行中可用。

http://windowsclient.net/blogs/faqs/archive/2006/05/26/how-do-i-start-visual-studio-from-the-command-line.aspx

我通常會手動複製的devenv.exe到我的bat文件保持位置。

0

您可以指定的devenv.exe的完整路徑:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\devenv.exe FileMgr.sln /rebuild debug

但你的批處理文件將無法移植到其他機器/ IDE中。

+0

我在compile.bat文件上運行過一次,現在每次運行compile.bat最上面一行不在),VS打開我的FileMgr解決方案。如果沒有打開新的解決方案,有什麼辦法可以在cmd窗口中進行編譯? – jbisa 2012-02-11 07:34:41

+0

http://msdn.microsoft.com/en-us/library/b20w810z(v=vs.80).aspx – Ajay 2012-02-11 18:44:03