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