关闭

C#执行批处理,当批处理不在程序根目录时,出现“找不到文件”的问题的解决方法

标签: c#批处理bat执行
728人阅读 评论(0) 收藏 举报
分类:

使用下面的C#代码执行位于Bat目录下面的批处理脚本。

Process proc = new Process();
proc.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + @"Bat\test.bat";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = true;
proc.Start();

批处理完成删除文件的操作,代码如下所示。

@echo on
del t.txt
pause

执行代码,出现下面的提示信息,找不到指定文件,但是文件真真切切的存在于Bat目录下面。
这里写图片描述

解决这个问题很简单,只需要在前述C#代码前面加上下面这句代码就OK啦。

Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory + @"Bat\";

这句代码将当前工作目录指定为Bat目录,这样的话程序就会去Bat目录查找指定文件了,而不是去程序根目录查找文件,在程序根目录查找文件,自然找不到了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:903837次
    • 积分:11656
    • 等级:
    • 排名:第1359名
    • 原创:296篇
    • 转载:47篇
    • 译文:0篇
    • 评论:135条
    最新评论