我有一个包含多个.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
这导致没有变化。
答案 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
以查看输出。