我有一组文件夹,有一个类似的命名方案
03 - March
,依此类推。
我需要测试路径,如果为true,则无法获取引号或转义正确。 这是我的代码
$year = Get-Date -Uformat %Y
$month = Get-Date -Format MMMMMMMM
Test-Path "C:\thisyear\$month - $year"
我也尝试过
Test-Path "C:\thisyear\$month '- $year"
那也不起作用
答案 0 :(得分:3)
您可以使用-Format
的{{1}}参数将任何字符作为文字(或用mklement0的注释引用文字部分),方法是使用反斜杠将其转义,所以这个脚本:
Get-Date
将输出
$Folder = Get-Date -F 'C:\\yyyy\\MM - MMM'
If (!(Test-Path $Folder)){
"create folder {0}" -f $folder
# MD $Folder | Out-Null
} else {
"folder {0} exists" -f $folder
}
创建文件夹的命令被注释掉,以使其删除create folder C:\2018\07 - Jul
答案 1 :(得分:2)
您可以使用Get-Date
的-Format
参数来生成所需的日期格式。
您似乎想要一个两位数字的年份yy
,与月份的全名-
隔开MMMM
。
$Date = Get-Date -Format "yy - MMMM"
Test-Path "C:\thisyear\$Date"
这MSDN page has the full list可用的格式运算符。