在Windows中重命名多个文件

时间:2017-12-18 16:31:09

标签: powershell cmd window

我有一个包含多个.txt文件的文件夹,这些文件是由另一个程序创建的。但是程序输出的每个文件都带有“-Module” 文件名。例如

filename-Module.txt
filename1-Module.txt
filename2-Module.txt

我想知道是否有一个我可以运行的脚本或命令(Powershell / cmd),它将迭代每个文件并从每个文件名中删除“-Module”,所以我最终会以

结束
filename.txt
filename1.txt
filename2.txt

我尝试过使用目录中的cmd,其中包含以下内容:

rename *-Module.txt *txt

这导致没有变化。

2 个答案:

答案 0 :(得分:2)

您可以使用get-childitem并将其传递给rename-item。

    get-childitem -path 'c:\folderwherefilesarelocated' -recurse |
    rename-item -newname {$_.Name -replace "-module", ""}

答案 1 :(得分:0)

相对简单:

Get-ChildItem ComputerName\TestLocation\testfolder -filter "*-module*" | Rename-Item -NewName {$_.name -replace '-module', ''}

获取文件夹中的项目,查找其中包含“-module”的文件名,然后将“-module”文本替换为空字符串。您还可以在执行此操作之前附加-whatif以查看输出。