这波是玄学,没有找到相关文档,都是自己试出来的。。。

文件路径

首先,我们新建一个文件:

> New-Item '['

非常成功并没有报错,然后我们用 ls 查看一下文件:

> ls '['
Get-ChildItem : 无法检索 cmdlet 的动态参数。指定的通配符模式无效: [
所在位置 行:1 字符: 1
+ ls '['
+ ~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-ChildItem],ParameterBindingException
    + FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.GetChildItemCommand

天哪,这是什么?试试按 TAB 键补全:

> ls '.\`['
ls : 找不到路径“C:\Users\MoeShin\test\`[”,因为该路径不存在。
所在位置 行:1 字符: 1
+ ls '.\`['
+ ~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\MoeShin\test\`[:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

这啊,又是什么?

后来,我试啊试啊,发现前面加两个反引号才行:

> ls '``['

    目录: C:\WDNMD

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         1202/23/66     66:66              0 [

所以,我们 ForEach-Object 遍历文件夹的时候就要处理一下,比如这样替换:

ls | ForEach-Object {
    ls ($_.name  -replace '(\[|\])', '``$1')
}

Remove-ItemProperty

这是我在搞注册表时发现的问题,-Name 只需要一个反引号就行

标签: powershell

已有 5 条评论

  1. Telegram 数据 Telegram 数据 访客 Chrome Windows 10 回复

    Telegram 是创建和运营虚拟社区的最佳工具之一。企业可以通过群组和渠道直接接触受众,从而鼓励有意义的参与和忠诚度。

  2. kdseqqbnfj kdseqqbnfj 访客 Chrome Windows 10 回复

    你的文章内容非常用心,让人感动。http://www.tjkjwz.com

  3. abpssecnzm abpssecnzm 访客 Chrome Windows 10 回复

    你的文章内容非常精彩,让人回味无穷。http://www.zhenwuxiufushi.com

  4. temtzrcicv temtzrcicv 访客 Chrome Windows 10 回复

    你的文章让我学到了很多技能,非常实用。 https://www.yonboz.com/video/88644.html

  5. vdjujitssf vdjujitssf 访客 Chrome Windows 10 回复

    你的文章让我学到了很多技能,非常实用。 https://www.yonboz.com/video/88644.html

添加新评论

注意:已开启评论过滤器,无中文无法评论!
泡泡表情