windows 7 在文件和文件夹中查找和替换字符串

windows 7 find and replace string in files and folders

在 windows powershell ISE 中,我试图替换很多文件名和文件夹名称示例中的字符串,我有像

这样的文件和文件夹
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" }

但是这个命令不起作用

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

您似乎忘记了 Rename-ITem-Path 参数。

希望对您有所帮助。

你也可以这样做:

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