Powershell使用C#实现缩写路径
支持2.0及以后版本。
某些时候报表中的路径字符串是非常长的。如果需要你也可以缩写它,但是这样路径就失去的使用价值。最好是使用内置的API它可以灵活的缩略路径。
接下来要告诉你如何在Powershell脚本中使用C#代码:
$newType=@'
usingSystem;
usingSystem.Text;
usingSystem.Runtime.InteropServices;
namespaceWindowsAPILib
{
publicclassHelper
{
[DllImport("shlwapi.dll",CharSet=CharSet.Auto,SetLastError=true)]
internalstaticexternboolPathCompactPathEx(System.Text.StringBuilderpszOut,stringpszSrc,Int32cchMax,Int32dwFlags);
publicstaticstringCompactPath(stringPath,intDesiredLength)
{
StringBuildersb=newStringBuilder(260);
if(PathCompactPathEx(sb,Path,DesiredLength+1,0))
{returnsb.ToString();}
else
{returnPath;}
}
}
}
'@
Add-Type-TypeDefinition$newType
一旦你执行这段代码,就会产生一个新的.Net类,其中会增加一个新的静态方法“CompactPath”,现在你就可以这样使用它了:
PS>$pshome C:\Windows\System32\WindowsPowerShell\v1.0
PS>[WindowsAPILib.Helper]::CompactPath($pshome,12) C:\W...\v1.0
PS>[WindowsAPILib.Helper]::CompactPath($pshome,18) C:\Windows...\v1.0
PS>[WindowsAPILib.Helper]::CompactPath($pshome,22) C:\Windows\Sys...\v1.0
热门推荐
2 祝福语简短古诗词
10 简短霸气的考试祝福语
11 怎么说祝福语简短
12 最搞笑生日祝福语简短
13 学生宴祝福语简短的
14 班级集体生日祝福语简短
15 写给男生简短的祝福语
16 端午发给客户祝福语简短
17 中秋祝福语送朋友简短
18 比赛结束花束祝福语简短