Net Core教程

.NET C#获取指定长路径的短路径方式

本文主要是介绍.NET C#获取指定长路径的短路径方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

直接上代码。

using System.Runtime.InteropServices;

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern int GetShortPathName(
         [MarshalAs(UnmanagedType.LPTStr)] string path,
         [MarshalAs(UnmanagedType.LPTStr)] StringBuilder short_path,
         int short_len
         );

        /// <summary>
        /// 返回指定长路径的短路径,要求该路径必须在电脑中存在
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string GetShortPath(string name)
        {
            int length = 0;
            length = GetShortPathName(name, null, 0);
            if (length == 0)
            {
                return name;
            }
            StringBuilder short_name = new StringBuilder(length);
            length = GetShortPathName(name, short_name, length);
            if (length == 0)
            {
                return name;
            }
            return short_name.ToString();
        }

调用方式,直接调用GetShortPath方法即可

 

这篇关于.NET C#获取指定长路径的短路径方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!