windows - 替换或删除文件夹中所有文件的文件名中的某些字符

标签 windows file powershell batch-file cmd

<分区>

如何通过批处理文件删除某些字符或将某些字符替换为其他字符,一次性删除Windows文件夹中所有文件的文件名,是否有DOS命令?

最佳答案

使用 PowerShell 在 DOS 提示符下更智能地执行任何操作。在这里,我展示了如何批量重命名当前目录中所有包含空格的文件和目录,方法是将它们替换为 _ 下划线。

Dir |
Rename-Item -NewName { $_.Name -replace " ","_" }

编辑:
可选 Where-Object 命令可用于过滤 连续cmdlet 的不合格对象(命令-让)。以下是一些示例来说明它可以为您提供的灵 active :

  • 跳过任何文档文件

    Dir |
    Where-Object { $_.Name -notmatch "\.(doc|xls|ppt)x?$" } |
    Rename-Item -NewName { $_.Name -replace " ","_" }
    
  • 只处理目录(3.0 之前的版本)

    Dir |
    Where-Object { $_.Mode -match "^d" } |
    Rename-Item -NewName { $_.Name -replace " ","_" }
    

    PowerShell v3.0 引入了新的 Dir 标志。您也可以在那里使用 Dir -Directory

  • 跳过任何已经包含下划线(或其他一些字符)的文件

    Dir |
    Where-Object { -not $_.Name.Contains("_") } |
    Rename-Item -NewName { $_.Name -replace " ","_" }
    

关于windows - 替换或删除文件夹中所有文件的文件名中的某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636996/

相关文章:

node.js - Windows 中 Node.JS 的 LDAP 授权

c - 指针和字符串的关系

powershell - 如何使用 PowerShell 查找集合成员信息

powershell - Powershell在以分配的执行模式执行代码之前要求确认

windows - 如何判断硬盘是否网络挂载?

windows - 批处理文件 : How can I extract the substring of a value from a FOR loop using an index variable?

C++ Windows 线程和互斥问题

C:fread返回0

java - java中从右侧读取文件

java - 监视 Windows 目录大小