我正在尝试将文件名显示为:
focus131021a.wav
我已将日期声明为变量:
$DateFilename = get-date -format "yyMMdd"
但是,在保留最后一个“a”字符时,我无法将该变量转换为字符串。以下是许多失败的试验中的一些......
PS C:\script> $FileName3 = "focus'$DateFilename`a.wav"
PS C:\script> echo $FileName3
focus'131021.wav
PS C:\script> $FileName3 = "focus$DateFilename'a.wav"
PS C:\script> echo $FileName3
focus131021'a.wav
PS C:\script> $FileName3 = "focus$DateFilename`a.wav"
PS C:\script> echo $FileName3
focus131021.wav
PS C:\script> $FileName3 = "focus$DateFilename'aa.wav"
PS C:\script> echo $FileName3
focus131021'aa.wav
PS C:\script> $FileName3 = "focus$DateFilename'a.wav"
PS C:\script> echo $FileName3
focus131021'a.wav
答案 0 :(得分:3)
最简单的方法是使用格式:
$filename3 = 'focus{0:yyMMdd}a.wav' -f (get-date)
否则你最终会得到疯狂的转义序列,嵌套的引号或乱七八糟的字符串。
答案 1 :(得分:3)
使用OP的原始方法实现此目的的另一种方法是:
$DateFilename = get-date -format "yyMMdd"
$FileName3 = "focus${DateFilename}a.wav"
您可以在双引号字符串中的变量名称周围使用{}来将变量名称与其他文本区分开来。