我写了一个简单的控制台工具,它读取一个文件,然后写出一些东西。我打算只拖放文件,然后在与输入文件相同的目录中弹出输出。
所有的测试都有效,当我从命令行调用它时,一切都按预期进行。但是,当我尝试在资源管理器中拖放它时,没有创建任何文件。
我在系统中进行了搜索,发现它们都被转储到了我的用户文件夹下的 Documents and Settings 中,当我打印出完整路径时,就是它所说的。
这很奇怪。不会Path.GetFullPath
返回输入文件的绝对路径?相反,它看起来只是将该用户目录路径与输入的文件名组合在一起。
编辑:这是代码。我觉得我在某个地方犯了一个逻辑错误,但似乎看不到它。
filename = System.IO.Path.GetFileName(args[i]);
abspath = Path.GetFullPath(filename);
dirpath = Path.GetDirectoryName(abspath);
....
Console.WriteLine(dirpath);