asp.net执行bat批处理文件的问题

chlei 2011-09-26 12:48:38
asp.net执行bat批处理文件,在自己的机器上(windows 7)完全没有问题,
但是到了服务器上,就不行执行了,
服务器的操作系统是windows 2003
是否代码有什么问题呢,请帮我看看

代码如下
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = " cmd.exe ";
startInfo.Arguments = @" /c D:\status.bat";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = false;
startInfo.RedirectStandardOutput = false;
startInfo.CreateNoWindow = true;
process.StartInfo = startInfo;

process.Start();
process.WaitForExit();
process.Dispose();
...全文
550 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
绝代坏坏 2011-09-26
  • 打赏
  • 举报
回复
类似于这种安全情况,建议还是楼主通过后台程序解决,比如扫描数据库或者文件夹。这样就可以曲线救国了。
孟子E章 2011-09-26
  • 打赏
  • 举报
回复
解决方法

查看你网站使用的应用程序池名称,在这个应用程序池里面-属性,标识标签页里面,把应用程序池标识改成系统管理员帐号
孟子E章 2011-09-26
  • 打赏
  • 举报
回复
是因为iis默认是以匿名账户身份运行的,没有执行exe的权限的。
highpr 2011-09-26
  • 打赏
  • 举报
回复
服务器上一般为了安全,不开cmd.exe功能



startInfo.Arguments = @" /c D:\status.bat";
地址是否正确,为什么不用server.mappth("status.bat")
chlei 2011-09-26
  • 打赏
  • 举报
回复
放在网站根目录下好像可以


[Quote=引用 13 楼 net_lover 的回复:]

startInfo.Arguments = @" /c '" + Server.MapPath("~/status.bat") + "'";
bat放你网站的根目录下
[/Quote]
孟子E章 2011-09-26
  • 打赏
  • 举报
回复
startInfo.Arguments = @" /c '" + Server.MapPath("~/status.bat") + "'";
bat放你网站的根目录下
highpr 2011-09-26
  • 打赏
  • 举报
回复
chlei 2011-09-26
  • 打赏
  • 举报
回复
是我的网站使用的程序池

[Quote=引用 6 楼 net_lover 的回复:]

引用 5 楼 chlei 的回复:

我已经把应用程序池标识改成系统管理员帐号
但还是不行

你改的这个程序池名称是你的网站使用的那个吗?
[/Quote]
highpr 2011-09-26
  • 打赏
  • 举报
回复
有一次,我告诉管理员无法运行cmd.exe,管理员说服务器上有杀毒软件,他也没法运行?
孟子E章 2011-09-26
  • 打赏
  • 举报
回复
另外你可以在web.config里面启用模拟

<configuration>
<system.web>
<identity impersonate="true" userName="服务器机器名\Administrator" password="Administrator的密码" />
</system.web>
</configuration>



highpr 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chlei 的回复:]
我已经把应用程序池标识改成系统管理员帐号
但还是不行
[/Quote]那 你的web.config里是不是有程序池标识方面的设置?
孟子E章 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chlei 的回复:]

我已经把应用程序池标识改成系统管理员帐号
但还是不行
[/Quote]
你改的这个程序池名称是你的网站使用的那个吗?

chlei 2011-09-26
  • 打赏
  • 举报
回复
我已经把应用程序池标识改成系统管理员帐号
但还是不行
Part1第一部分: 相信大家找得到该书的源代码部分 也就是这部分内容 因此我便无偿奉送 让大家下载试试。 若感觉可以方可继续下载电子书部分。 1.本书1~21章所附代码的运行环境 操作系统:Windows Server 2003或Windows XP Professional 开发环境:Microsoft Visual Studio 2005 数据库:SQL Server 2005 Web服务器:IIS 5.1及以上版本 2.本书所附光盘范例 第1章(\Chapter 01) 示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 form.html 表单范例。 css.html CSS范例。 第3章(\Chapter 03) 示例描述:本章介绍C# 2.0程序设计基础。 3-01.cs 第一个C#程序。 3-02.cs 不导入命名空间来改写程序3-01.cs。 3-03.cs ReadLine()方法读数据。 3-04.cs 常量的使用。 3-05.cs 整型类型的使用。 3-06.cs 结构类型的使用。 3-07.cs 枚举类型的使用。 3-08.cs 用一个输入参数通过值传递一个变量给一个方法。 3-09.cs 一维数组的使用。 3-10.cs 使用代理类型。 3-11.cs 使用接口。 3-12.cs 装箱操作。 3-13.cs 字符串操作。 3-14.cs if语句的使用。 3-15.cs switch语句的使用。 3-16.cs while语句的使用。 3-17.cs do-while语句的使用。 3-18.cs for语句的使用。 3-19.cs 异常捕获:try-catch语句的使用。 3-20.cs 异常捕获:try-finally语句的使用。 3-21.cs 异常捕获:try-catch-finally语句的使用。 3-22.cs get和set对属性的值进行读写操作。 3-23.cs 方法的使用。 3-24.cs 继承演示。 3-25.cs 多态性演示。 第4 章(\Chapter 04) 示例描述:本章学习ASP.NET 2.0页面基本对象。 4-01.aspx aspx页面中添加一个Lable标签。 4-02.aspx 读出Application的属性值。 4-03.aspx 读出SessionID的值。 4-04.aspx 创建Session对象。 4-05.aspx 读取传递的Session值并显示。 4-06.aspx 使用Response对象的Write()方法。 4-07.aspx 使用Response对象的End()方法。 4-08.html 以post方式提交数据到4-08.aspx的表单。 4-08.aspx 接收表单数据并进行处理。 4

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧