c#执行D盘下的一个vbs文件 或者指定位置创建一个vbs文件 并执行

小菜来袭 2014-09-19 02:32:53
c#执行D盘下的一个vbs文件 或者指定位置创建一个vbs文件 并执行
下面的代码vbs是创建好了 但是不会执行 为什么?
坐等求解 大神速来!!
...全文
285 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs"; 这行代码呢
truediego 2014-09-19
  • 打赏
  • 举报
回复
你的错在于 执行路径问题 你生成的1.vbs在 D盘根目录下 你的exe在哪里呢? 你的a.bat和b.bat由于没有写路径 如果你用exe执行的话, 所以默认执行exe所在目录的a.bat和b.bat 9楼明确写了bat的路径的
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
sw.WriteLine("iReturn=ws.Run(\"cmd.exe /C d:/a.bat\", 0, TRUE)"); 比如说这个?
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
谢谢 你的回答完美的解决了我的问题 就是有些代码看不懂 你能帮我分析下吗?
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
4楼的代码 是没有效果的 vbs同样没有执行 2楼 我知道如果弄bat的话 就会出现cmd窗口 我不想它出现 但是创建vbs打开bat的话 就不会出现那个黑色窗口
wind_cloud2011 2014-09-19
  • 打赏
  • 举报
回复


             string filePath = "d:\\1.vbs";            
             FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);
             StreamWriter sw = new StreamWriter(fs);                        
             sw.WriteLine("DIM ws");
             sw.WriteLine("Set ws=wscript.CreateObject(\"Wscript.Shell\")");
             sw.WriteLine("iReturn=ws.Run(\"cmd.exe /C d:/a.bat\", 0, TRUE)");
             sw.Flush();    
             sw.Close();

          // 实例化线程
             Process process = new Process();
            // 指定要运行文件的路径
            process.StartInfo.FileName = filePath;
             process.Start();

 a.bat中放一个删除命令
    del d:\1.txt
 运行后,1.txt文件就删除了
於黾 2014-09-19
  • 打赏
  • 举报
回复
目测你的vbs代码,根本不需要弄成vbs,弄个bat文件也能实现一样的效果,合并不弄成bat呢 bat文件系统直接能认识,不需要任何外部软件环境
於黾 2014-09-19
  • 打赏
  • 举报
回复
一个文件是自己执行,还是使用外部程序执行,是有区别的 doc文件,你双击,会自动打开word,然后加载文档 你换个没有office的机器再双击试试?
以夕阳落款 2014-09-19
  • 打赏
  • 举报
回复

Process scriptProc = new Process();
scriptProc.StartInfo.FileName = @"1"; 
scriptProc.StartInfo.WorkingDirectory = @"D:\\"; //<---very important 
scriptProc.StartInfo.Arguments ="//B //Nologo vbscript.vbs";
scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
scriptProc.Start();
scriptProc.WaitForExit();
scriptProc.Close();
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
vbs 是可执行文件 当然可以运行 代码里创建好的 1.vbs 在磁盘双击就能运行
於黾 2014-09-19
  • 打赏
  • 举报
回复
vbs文件双击能执行? 如果双击不能执行的文件,都不能这样直接打开. 遇到问题不要拍脑袋想方案,弄清楚它到底是个什么东西,怎么用,先
小菜来袭 2014-09-19
  • 打赏
  • 举报
回复
没有人知道吗?
threenewbee 2014-09-19
  • 打赏
  • 举报
回复
http://stackoverflow.com/questions/200422/how-to-call-a-vbscript-file-in-a-c-sharp-application

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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