开发者社区> 问答> 正文

PowerShell怎样处理文件名转义字符?? 400 报错

PowerShell怎样处理文件名转义字符?? 400 报错

# CleanUP

function delItem { param($p1='default_null', $p2='default_null') $tsize = (Get-ChildItem $p1 | Measure-Object Length -Sum).Sum $flist = Get-ChildItem $p1 -Recurse | %{$_.FullName} Foreach ($f in $flist) { Remove-Item $f -Recurse -ErrorAction "SilentlyContinue" If (!$?) {"发生异常,异常信息如下:`n$($error[3])";continue} } $freed = ($tsize - ((Get-ChildItem $p1 | Measure-Object Length -Sum).Sum))/1MB ">>> 清空 $($p1)({0:0.00}MB) 操作完成!$(Get-Date -Format "yyyy-MM-dd HHss") <<<" -f $freed }

delItem -p1 "C:\Windows\SoftwareDistribution\Download" delItem -p1 $env:temp

当遇到 _5%)6QSMXES\][P)VLA\ZWA.png 这种文件名就会出错,PS怎样处理这样的转义呢,求帮助。。。

展开
收起
爱吃鱼的程序员 2020-06-01 10:46:42 532 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    查看了一下: http://www.pstips.net/
    可能是字符中有通配符了, 可以用``来转义特殊符号.
    http://www.pstips.net/question/2682.html

    powershell 的确强大, 搭配上Windows PowerShell ISE才是神器.

    可惜二次接口调用性能太弱, 暂时没想到好的用处.

    ######回复 @neverno : 那不是双引号, 是 `######如我的代码里,Remove-Item $f,这个$f我无法预料到有用哪个转义字符,我尝试过加单双括号,都是无果。。。
    2020-06-01 10:46:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载