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

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

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

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

这不适用于托管API …

您将需要使用P / Invoke并在Server.MapPath()的结果上调用GetShortPathName ,并且只有在Server.MapPath()的结果确实存在时才会成功…请参阅http://pinvoke.net/default。 aspx / kernel32.GetShortPathName和http://msdn.microsoft.com/en-us/library/aa364989%28v=vs.85%29.aspx