如何使用PowerShell删除文件名中的前导或尾随空格?

神秘松饼

我基本上是想修剪()名称末尾带有前导或尾随空格的任何文件名。这是我到目前为止的代码

$foldersToCheck = "$env:userprofile\documents", "$env:userprofile\pictures", "$env:userprofile\desktop"
foreach ($folder in $foldersToCheck) {
    get-childitem -path $folder -recurse | foreach-object {
        if ($_.name.startswith(" ") -or $_.name.endswith(" ")) {
            $newName = $_.name.trim()
            rename-item -path $_ -newName $newname
        }
    }
}

如果我创建一个测试文件(c:\ users \ someusername \ desktop \ test.txt),那么我会收到此错误

rename-item : Cannot rename because item at ' test.txt' does not exist.
    At line:6 char:13
    +             rename-item -path $_ -newName $newname
    +             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
        + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand

因此,看起来它找到了需要重命名的文件,但随后说它不存在。

Mathias R. Jessen

这里的问题是,$_在尝试将PowerShell转换为可以绑定到的字符串时,PowerShell会解析为仅文件名-Path

显式传递文件完整路径,它将起作用:

Rename-Item -Path $_.FullName -NewName $newname

或者,将$_文件对象传递到Rename-Item,PowerShell会自动确定它需要绑定$_.FullNameRename-Item-LiteralPath参数:

$_ |Rename-Item -NewName $newname

您还可以将整个循环变成单个管道,然后利用针对以下内容的管道绑定表达式-NewName

$foldersToCheck |Get-ChildItem -Recurse |Rename-Item -NewName { $_.Name.Trim() }

如果现有Name-NewName值相同,Rename-Item则无论如何都将不理会这些文件:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

递归地从文件名和目录名中删除所有前导和尾随空格

来自分类Dev

如何使用Powershell从文件名开头删除空格

来自分类Dev

如何使用Shell脚本从文件的每一行中删除前导和尾随空格?

来自分类Dev

如何从文件名中删除空格

来自分类Dev

使用bash我需要在文件名中的文件扩展名之前删除尾随空格

来自分类Dev

Haskell 从文件中删除尾随和前导空格

来自分类Dev

蚂蚁-如何从属性文件中的值中删除前导或尾随空格?

来自分类Dev

如何使用预命名从文件名中删除前导数字?

来自分类Dev

如何删除文件名中包含空格的文件?

来自分类Dev

REGEX删除()中的前导和尾随空格

来自分类Dev

使用sed删除文件名中的空格和括号

来自分类Dev

从文件中删除尾随空格

来自分类Dev

Jsoup:如何使用文件名中的空格提取img?

来自分类Dev

使用Powershell删除文件名中的方括号字符

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

Pyspark - 如何删除数据框中的前导和尾随空格?

来自分类Dev

如何使用ORACLE REGEX函数删除所有前导和尾随的换行符和空格?

来自分类Dev

从字符串值中删除空格(前导和尾随)

来自分类Dev

删除字符串中的前导,尾随和多个空格

来自分类Dev

BASH删除数组中的前导和尾随空格

来自分类Dev

从字符串值中删除空格(前导和尾随)

来自分类Dev

从Python列表中删除前导和尾随空格

来自分类Dev

在Window Batch中-如何从文件中删除前导空格?

来自分类Dev

无法使用 gsub 或 trimws 删除前导/尾随空格

来自分类Dev

如何使用PowerShell中的文件内容获取文件名

来自分类Dev

使用粘贴命令时如何删除输出文件中的尾随空格?

来自分类Dev

如何在PowerShell中带有尾随空格的文件夹上使用Set-Location?

来自分类Dev

如何使用jquery限制文本框中前导和尾随空格的使用?

来自分类Dev

如何使用jquery限制文本框中前导和尾随空格的使用?

Related 相关文章

  1. 1

    递归地从文件名和目录名中删除所有前导和尾随空格

  2. 2

    如何使用Powershell从文件名开头删除空格

  3. 3

    如何使用Shell脚本从文件的每一行中删除前导和尾随空格?

  4. 4

    如何从文件名中删除空格

  5. 5

    使用bash我需要在文件名中的文件扩展名之前删除尾随空格

  6. 6

    Haskell 从文件中删除尾随和前导空格

  7. 7

    蚂蚁-如何从属性文件中的值中删除前导或尾随空格?

  8. 8

    如何使用预命名从文件名中删除前导数字?

  9. 9

    如何删除文件名中包含空格的文件?

  10. 10

    REGEX删除()中的前导和尾随空格

  11. 11

    使用sed删除文件名中的空格和括号

  12. 12

    从文件中删除尾随空格

  13. 13

    Jsoup:如何使用文件名中的空格提取img?

  14. 14

    使用Powershell删除文件名中的方括号字符

  15. 15

    使用PowerShell重命名或删除文件名中的字符

  16. 16

    Pyspark - 如何删除数据框中的前导和尾随空格?

  17. 17

    如何使用ORACLE REGEX函数删除所有前导和尾随的换行符和空格?

  18. 18

    从字符串值中删除空格(前导和尾随)

  19. 19

    删除字符串中的前导,尾随和多个空格

  20. 20

    BASH删除数组中的前导和尾随空格

  21. 21

    从字符串值中删除空格(前导和尾随)

  22. 22

    从Python列表中删除前导和尾随空格

  23. 23

    在Window Batch中-如何从文件中删除前导空格?

  24. 24

    无法使用 gsub 或 trimws 删除前导/尾随空格

  25. 25

    如何使用PowerShell中的文件内容获取文件名

  26. 26

    使用粘贴命令时如何删除输出文件中的尾随空格?

  27. 27

    如何在PowerShell中带有尾随空格的文件夹上使用Set-Location?

  28. 28

    如何使用jquery限制文本框中前导和尾随空格的使用?

  29. 29

    如何使用jquery限制文本框中前导和尾随空格的使用?

热门标签

归档