如何在bat文件中将配置文件传递给exe?

时间:2013-03-07 00:54:27

标签: batch-file exe

我的test.exe(控制台应用程序/ windows应用程序)和test.exe.config位于我机器上的同一目录中。

当我打开DOS提示符时,我能够运行test.exe %1 %2 %3,它成功地在MS SQL表中插入数据。

test.exe.config是从app.config编译的,其中包含:

<connectionStrings>
<add name="Common Instance" connectionString="data source=eeeeee;Integrated Security=SSPI;Initial Catalog=YYYY;User ID=xxx;Password=xxxx" providerName="System.Data.SqlClient"/>
</connectionStrings>

但是当我运行包含此代码的bat文件时:

START C:\aa\test.exe %1 %2 %3

我收到此错误消息:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
Stack:
   at Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection()

我对数据库进行了跟踪,当我运行bat文件时,它甚至没有被击中。

似乎当我运行bat文件时,它无法找到数据库连接。

我试过了:

START C:\aa\test.exe %1 %2 %3 "test.exe.config"

START C:\aa\test.exe %1 %2 %3 /config:test.exe.config

START C:\aa\test.exe %1 %2 %3 /config:App.config

他们都不行。我很欣赏一些指示。

1 个答案:

答案 0 :(得分:1)

我的猜测是需要在批处理文件中设置工作目录。这就是它无法找到.config文件的原因。将工作目录设置为应用程序和.config文件所在的文件夹。

cd C:\aa
start test.exe %1 %2 %3