如何获取使用短名称格式化的Server.MapPath()(8.3 MS-DOS格式)?

时间:2011-09-12 10:02:40

标签: c# asp.net filesystems directory dos

我正在使用Process.Start在ASP.NET服务器上运行控制台应用程序,程序的参数需要一个以旧的MS-DOS 8.3格式格式化的路径。

例如,在此格式的文件夹的控制台名称中,可以通过键入“dir / X”获得:

如何获取使用文件夹名称的短名称版本(8.3 MS-DOS格式)格式化的Server.MapPath()?

1 个答案:

答案 0 :(得分:3)

这不适用于托管API ...

您需要使用P / Invoke并在GetShortPathName的结果上调用Server.MapPath(),只有在Server.MapPath()的结果确实存在时才会成功...请参阅{{3 }和http://pinvoke.net/default.aspx/kernel32.GetShortPathName