Shell 如何在路径中包含变量?
我正在尝试创建一个名为creation_DDMMYYYY的文件,其中ddmmyyy是当前日期。路径tho上出现错误的路径格式错误Shell 如何在路径中包含变量?,shell,powershell,path,Shell,Powershell,Path,我正在尝试创建一个名为creation_DDMMYYYY的文件,其中ddmmyyy是当前日期。路径tho上出现错误的路径格式错误 $nowDate=$(date) New-Item -ItemType file "$HOME/creation_$nowDate.txt" 由于我刚刚开始使用Powershell,我真的不知道这里有什么问题…因为您在nowDate中只使用$date,路径不正确,因为它包含空格(文件夹名称不能包含空格),并且完全不是您想要的格式 只需更改nowDate即可获得正确
$nowDate=$(date)
New-Item -ItemType file "$HOME/creation_$nowDate.txt"
由于我刚刚开始使用Powershell,我真的不知道这里有什么问题…因为您在
nowDate
中只使用$date
,路径不正确,因为它包含空格(文件夹名称不能包含空格),并且完全不是您想要的格式
只需更改nowDate
即可获得正确的日期格式,它将起作用:
$nowDate = Get-Date -Format ddMMyyyy
New-Item -ItemType file "$HOME/creation_$nowDate.txt"
# Result:
Folder Properties... Name
----
creation_02062019.txt
PoSh不知道
.txt
是文件名的一部分。它认为您谈论的是$nowDate.txt
[具有属性的对象],而不是($nowDate.txt
)。。。[咧嘴笑]这很有道理。但是newitem-ItemType文件“$HOME/creation.$nowDate.txt”
仍然输出相同的错误。我总是使用国际的可排序格式ni(“creation.{0:yyyyymmdd}.txt”-f(get date))
@adriandalos-arg![脸红]我没有注意到您没有定义日期格式。您似乎正在使用datetime对象,而这在字符串中是不起作用的。看看LotPings发布了什么。这似乎解决了您的问题。“$nowDate”
可能包含文件系统名称中不允许的字符,如/
或:
。使用类似于$($nowDate.ToString('yyyy-MM-dd'))的内容