2017-05-31 18 views
1

在Windows PowerShell ISE我试图在大量的文件名称和文件夹替换字符串替换字符串名称例如,我有文件和文件夹一样Windows 7的发现和文件和文件夹

foo_file1.txt 
file2_foo.php 
file3_foo_file.js 
foo/folder1/file.ext 
folder2/file4_foo.doc 
foo_folder/file5.ppt 
folder/foo/file_foo.jpg 

我想例如,将所有“foo”更改为“bar”。我使用Windows PowerShell命令

$dir = "the Path of folder Parent" 
CD $dir 
Get-Childitem -recurse | 
Where-Object {$_.Name -match "foo"} 
rename-item -NewName { $_.Name -replace "foo", "bar" } 

,但该命令没有工作

回答

1
Get-Childitem -recurse | Where-Object {$_.Name -match "foo"} | % { Rename-Item -NewName ($_.Name -replace "foo", "bar") -Path $_.FullName } 

看来你忘了Rename-ITem-Path参数。

希望有所帮助。

1

你可以这样做也:

$dir = "C:\folderpath" 
(Get-Childitem $dir -recurse |Where-Object {$_.Name -match "foo"}) | 
rename-item -NewName { $_.BaseName -replace "foo", "bar" }