如何解决批量替换文件名中的字符
我想用一个字母 s 批量替换它。
我在下面在线找到了 powershell 代码,它可以很好地用其他字母替换字母,但在尝试替换 $ 特殊字符时失败
get-childitem -recurse | rename-item -newname { $_.name -replace "",""}
我尝试使用下面的代码,结果在文件类型的末尾添加了一个 s 而不是替换 $
get-childitem -recurse | rename-item -newname { $_.name -replace "$","s"}
$hortvid.mp4 变成 $hortvid.mp4s 而不是 shortvid。 mp4
有关如何使其正常工作的任何想法?
解决方法
只需使用 \
转义字符:
在目录中运行 line 时:
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'}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。