Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell windows 7查找和替换文件和文件夹中的字符串_Powershell_Cmd_Windows 7 X64 - Fatal编程技术网

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

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 = "

在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 }
似乎您忘记了
重命名项的
-Path
参数


希望有帮助。

您也可以这样做:

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