在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" }
但此命令无法正常工作
答案 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" }