【发布时间】:2020-04-10 20:03:37
【问题描述】:
我的桌面上有一个文件,我想在我的代码中获取文件的完整路径,它应该在我的桌面上还是任何地方
我的代码是这样的
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GetFullPath
{
class Program
{
static void Main(string[] args)
{
string filename = "eMemoExpenseApproval.docx";
string fullFilePath = Path.Combine(Directory.GetCurrentDirectory(), filename);
Console.Write("Path : " + fullFilePath);
Console.Read();
}
}
}
而不是从桌面获取完整路径,它显示了来自 Visual Studio 的路径,这不应该是这样,但我得到了这个
Path : C:\Users\Administrator\Documents\Visual Studio 2017\Projects\GetFullPath\GetFullPath\bin\Debug\eMemoExpenseApproval.docx
编辑:
这可以获取桌面上文件的路径
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GetFullPath
{
class Program
{
static void Main(string[] args)
{
string filename = "eMemoExpenseApproval.docx";
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string fullFilePath = path +"/"+ filename;
Console.Write("Path : " + fullFilePath);
Console.Read();
}
}
}
很好,但是其他目录呢?
【问题讨论】:
-
Environment.GetFolderPath(Environment.SpecialFolder.Desktop); -
一般来说,当您的进程开始时,您不应该对
Directory.GetCurrentDirectory()指向的位置做出任何假设。 -
如上述 cmets 所指。阅读此docs.microsoft.com/en-us/dotnet/api/…
-
问题是:为什么你认为GetCurrentDirectory是桌面的路径?
-
不清楚你在问什么。您的意思是在整个磁盘中搜索该文件名吗?在这种情况下,您的代码完全关闭。
标签: c#