当只有文件名称已知时,如何获取文件名的路径?
说我有一个编译C#
程序(我们称之为example2.exe
)在目录系统$PATH
,所以我可以从Windows的任何文件夹调用它。在命令行中我进入c:\apps
并与现有的文件作为参数运行example2.exe
,例如:example2.exe file.txt
。是否有可能获得file.txt
的完整路径?当只有文件名称已知时,如何获取文件名的路径?
另一种选择可能是..\file.txt
,这不会指向一个文件在当前词典。
Directory.GetCurrentDirectory是你在找什么。
var fileName = "file.txt"; //comes from args obviously
var fullPath = Path.Combine(Directory.GetCurrentDirectory(), fileName);
你怎么知道编译的程序从当前目录读取?对于我们所知道的,它可以从'c:\ temp \ file.txt'中读取,因为文件名的解释完全取决于正在运行的程序。 – dasblinkenlight
它不必是当前字典,因为我可以给出一个参数'.. \ file.txt'。 – menteith
我会将相对文件名总是相对于当前目录。这就是所有应用程序99%的功能。 –
你怎么知道'''file.txt''字符串表示一个文件名到编译好的程序''example2“'? – dasblinkenlight
用户通常是指c:\ apps \ file.txt。如果Environment.CurrentDirectory设置正确,则由Path.GetFullPath()返回的值。它应该是。 –
@dasblinkenlight请问你能改说你的问题吗?我不确定你的想法。 – menteith