在WCF中执行批处理文件

时间:2014-01-27 09:53:04

标签: c# wcf batch-file

我正在尝试在IIS中执行批处理文件服务器端,以使用printuientry调用添加打印机。 我面临的问题是我使用复制到输出目录 - 始终复制和以下代码:

var path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
var processInfo = new ProcessStartInfo(Path.Combine(path, "AddPrinter.bat"))
{
    CreateNoWindow = true,
    UseShellExecute = false,
    WorkingDirectory = path,
    Arguments = ipAddress,
    RedirectStandardError = true,
    RedirectStandardInput = true,
    RedirectStandardOutput = true
};

var process = Process.Start(processInfo);
process.WaitForExit(10000);
process.Close();

现在在进行去除时,我已经检查了路径及其设置的值     文件:\ C:\ _项目\ PrinterServerV2 \ BIN 我检查了文件和目录是否存在。 但我得到了例外:

System.ComponentModel.Win32Exception (0x80004005): The directory name is invalid

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

检查您在iis配置中设置的用户是否具有运行,访问,写入和读取您要对批处理文件执行的操作的所有权限。

还尝试更改你的ProcessStartInfo,就像进程将cmd.exe和你的批处理文件一样。

我遇到了类似的问题How to execute multiples .BAT files in C#

答案 1 :(得分:0)

尝试将AppDomain.CurrentDomain.BaseDirectory作为路径。