您无法使用以下代码重命名文件。请帮帮我
$date = Get-Date -format "yyyyMMdd"
$path='D:\Users\user\Desktop\Working\'
$fn = $path+'xxx_'+$date+'.txt'
$tn = $path+'yyy'+$date+'.dat'
Rename-Item -Path $fn -NewName $tn
我收到以下错误。
Rename-Item:无法处理参数,因为参数“path”的值无效。改变的价值 “path”参数并再次运行该操作。 在行:1个字符:1 + Rename-Item -Path $ fn -NewName $ tn + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidArgument:(:) [Rename-Item],PSArgumentException + FullyQualifiedErrorId:Argument,Microsoft.PowerShell.Commands.RenameItemCommand
答案 0 :(得分:2)
我使用Join-Path和Test-Path
$date = Get-Date -format "yyyyMMdd"
$path='D:\Users\user\Desktop\Working\'
$fn = Join-Path $path ("xxx_{0}.txt" -f $date)
$tn = Join-Path $path ("yyy_{0}.txt" -f $date)
If ((Test-Path $fn) -and !(Test-Path $tn)){
Rename-Item -Path $fn -NewName $tn
} else {
"{0} exists is {1}, `n{2} not exists is {3}" -f $fn,(Test-Path $fn),$tn,(!(Test-Path $tn))
}
成功重命名时没有输出,出错时输出如下:
D:\Users\user\Desktop\Working\xxx_20180606.txt exists is False,
D:\Users\user\Desktop\Working\yyy_20180606.txt not exists is False