所以,尝试重命名当前脚本目录和所有子文件夹中找到的任何文件。不想工作。这就是我到目前为止......我做错了什么?我遇到的问题是它没有重命名子文件夹中的文件。
<# Renames all files in the working directory to have an extension of .hd #>
$files = Get-ChildItem $PSScriptRoot -Recurse | Where-Object {$_.Extension -match ".jpg|.jpeg|.png|.bmp|.gif|.3gp|.mp4|.webm|.mkv"}
ForEach ($file in $files) {
$filenew = $file.Name + ".hd"
Rename-Item $file $filenew
}
答案 0 :(得分:1)
您正在将<object data="/svgs/mysvg.svg" type="image/svg+xml">
对象传递给rename-item的路径参数,而不是filesystem
。
改变这个:
string path
到此:
Rename-Item $file $filenew
Rename-Item -Path $file.fullname -NewName $filenew
注意:移除Get-ChildItem -Path $Path -Include *.jpg,*.png,*.mp4 -Recurse |
Rename-Item -NewName { $_.Name + '.hd' } -WhatIf
以应用重命名操作
答案 1 :(得分:0)
无论如何,所以$ file.Name包含扩展名所以你需要$ file.Basename
$files = Get-ChildItem $PSScriptRoot -Recurse | Where-Object {$_.Extension -match ".jpg|.jpeg|.png|.bmp|.gif|.3gp|.mp4|.webm|.mkv"}
ForEach ($file in $files) {
$filenew = $file.BaseName + ".hd"
Rename-Item $file $filenew
}