Rename-item think variable是一个路径

时间:2014-05-20 08:38:15

标签: powershell rename rename-item-cmdlet

我试图重命名文件,但powershell认为我的变量是一个字符串并失败。

这是脚本:

$date=(get-date -Format d)
$time=(get-date -Format t)
$source = "D:\_qapi.log"
$newfilename = "$date"+"_"+"$time"+"_qapi[SERVERNAME].log"

Rename-Item $source -NewName $newfilename

这是错误:

Rename-Item : Cannot rename because the target specified represents a path or device name.

任何人都知道我能解决这个问题吗?出于某种原因,powershell将$ newfilename中的$ date变量视为路径。

1 个答案:

答案 0 :(得分:3)

日期时间字符串中的非法字符。

这有效:

$date=(get-date -Format d) -replace("/")
$time=(get-date -Format t) -replace(":")
$source = "D:\_qapi.log"
$newfilename = "$date"+"_"+"$time"+"_qapi[$env:Computername].log"

Rename-Item $source -NewName $newfilename