在带有下划线的文件名中使用变量

Ate*_*mon 5 powershell

在我的脚本中,我命名一个参数$out,然后尝试在这样的文件名中使用它:

c:/.../$out_date.txt

我的问题是$out_被认为是"不仅$out".文件名必须是这样的.我已经尝试过引用或双引号或+没有适当的结果.

Mat*_*sen 13

多种选择.

  1. 使用{}合格的变量名称(如由@PetSerAl指出):
    "C:\folder\${out}_date.txt"

  2. 在将其放入字符串之前使用-f运算符展开$out:
    'C:\folder\{0}_date.txt' -f $out

  3. 使用backtick(`)转义字符来停止解析变量名:
    "C:\folder\$out`_date.txt"

  4. 使用子表达式($())来计算变量:
    "C:\folder\$($out)_date.txt"

  • 我用了#4。去搞清楚。花了很长时间尝试用任何其他语言进行简单的连接。 (2认同)