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
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短