如何检查另一个文件是否在当前正在运行的应用程序的同一目录中?

时间:2012-12-04 15:46:14

标签: c#

我有2个文件,第一个是当前正在运行的应用程序(file1.exe),第二个是任何类型的另一个文件(file2。*)

如果第二个文件位于执行第一个文件的同一目录中,如何检查file1.exe的源代码?

我熟悉File.Exists(路径)所以我认为这可以归结为找到一个方法来返回第一个文件运行的目录。

5 个答案:

答案 0 :(得分:6)

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

应该这样做

答案 1 :(得分:1)

试试这个:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

以下是指向Assembly.GetExecutingAssembly()

的MSDN文档的链接

答案 2 :(得分:1)

using System.IO;
using System.Windows.Forms;
Path.GetDirectoryName(Application.ExecutablePath);

using System.IO;
using System.Reflection;
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

这些方法中的第一种可能更有效。但对于像这样关心的工作! :

我希望这会有所帮助。

答案 3 :(得分:0)

File.Exists("file2.whatever");默认情况下可以正常工作,因为Exists也会接受相对路径。

我发现这种情况不准确的唯一一次是您将不同的工作目录设置为启动应用的位置。

答案 4 :(得分:0)

最好使用GetEntryAssembly()

System.IO.Path.GetDirectoryName(
                System.Reflection.Assembly.GetEntryAssembly().Location);

即使从另一个程序集调用

,也会返回* .exe