Windows 7查找并替换文件和文件夹中的字符串

时间:2017-05-31 03:47:35

标签: powershell cmd windows-7-x64

在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"去"酒吧"例如。我使用了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" }

但此命令无法正常工作

2 个答案:

答案 0 :(得分:1)

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

似乎您忘记了-Path的{​​{1}}参数。

希望有所帮助。

答案 1 :(得分:1)

你也可以这样做:

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