批量替换文件名中的字符



我有大约600个视频文件的标题中有$特殊字符。

我想用字母s批量替换它。

我在下面的网上找到了powershell代码,它可以用其他字母替换字母,但在尝试替换$特殊字符时失败

get-childitem -recurse | rename-item -newname { $_.name -replace "",""}

我尝试使用下面的代码,它最终在文件类型的末尾添加了一个s,而不是替换$

get-childitem -recurse | rename-item -newname { $_.name -replace "$","s"}

$hortvid.mp4变为$shortvid.mp4而不是shortvid.mm4

关于如何使其正确工作,有什么想法吗?

只需使用转义符:

运行目录中的行时:

get-childitem -recurse | rename-item -newname { $_.name -replace "$","s"}

输入文件:

$hortvid.mp4

输出文件被重命名:

shortvid.mp4

$用于指定powershell中的变量。带有双引号的字符串在powershell中的求值方式如下:

$variable1="Hello"
$variable2="$variable1 world"
$variable2

如果你不想把一个字符计算成双引号字符串,你可以像@lww的建议解决方案一样反斜杠。或者简单地说,你可以使用简单的引号。像这样:

Get-ChildItem -recurse | Rename-Item -Newname { $_.Name -replace '$', 's'}

最新更新