2017-01-30 131 views
1

说我有一个编译C#程序(我们称之为example2.exe)在目录系统$PATH,所以我可以从Windows的任何文件夹调用它。在命令行中我进入c:\apps并与现有的文件作为参数运行example2.exe,例如:example2.exe file.txt。是否有可能获得file.txt的完整路径?当只有文件名称已知时,如何获取文件名的路径?

另一种选择可能是..\file.txt,这不会指向一个文件在当前词典。

+0

你怎么知道'''file.txt''字符串表示一个文件名到编译好的程序''example2“'? – dasblinkenlight

+2

用户通常是指c:\ apps \ file.txt。如果Environment.CurrentDirectory设置正确,则由Path.GetFullPath()返回的值。它应该是。 –

+0

@dasblinkenlight请问你能改说你的问题吗?我不确定你的想法。 – menteith

回答

0

Directory.GetCurrentDirectory是你在找什么。

var fileName = "file.txt"; //comes from args obviously 
var fullPath = Path.Combine(Directory.GetCurrentDirectory(), fileName); 
+2

你怎么知道编译的程序从当前目录读取?对于我们所知道的,它可以从'c:\ temp \ file.txt'中读取,因为文件名的解释完全取决于正在运行的程序。 – dasblinkenlight

+0

它不必是当前字典,因为我可以给出一个参数'.. \ file.txt'。 – menteith

+0

我会将相对文件名总是相对于当前目录。这就是所有应用程序99%的功能。 –

相关问题