4

我正在尝试重命名文件,但 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 变量视为路径。

4

1 回答 1

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
于 2014-05-20T08:43:14.617 回答