Powershell windows 7查找和替换文件和文件夹中的字符串
在windows powershell ISE中,我试图替换许多文件名和文件夹名中的字符串,例如,我有如下文件和文件夹Powershell windows 7查找和替换文件和文件夹中的字符串,powershell,cmd,windows-7-x64,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”改为“bar”。我使用了windows powershell命令 $dir = "
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 }
似乎您忘记了重命名项的-Path
参数
希望有帮助。您也可以这样做:
$dir = "C:\folderpath"
(Get-Childitem $dir -recurse |Where-Object {$_.Name -match "foo"}) |
rename-item -NewName { $_.BaseName -replace "foo", "bar" }