麻烦转义我自己的字符串,文件名中的日期变量

时间:2014-03-06 23:32:11

标签: string powershell

我试图在powershell中抓住单引号和双引号时遇到一些冲击。

我有一个每天自动生成的文件,名为filecsv20140306.csv,其中20140306是日期。我想运行一个每天获取此文件的脚本,并对其进行处理。

我可以做以下事情......

$filename = 'filecsv' + (get-date -uformat %Y%m%d) + '.csv'
$file = import-csv \\fs-01\daily\$filename

然后,当我读取该文件时,它应该是这样的。

我如何将它变成一行?我试过..

$file = import-csv \\fs-01\daily\filecsv + (get-date -uformat %Y%m%d) + csv ..

我是否单引号,没有引号我似乎得到一个错误说明无法绑定参数,无法将valie“20140306”转换为“System.Char”类型...

1 个答案:

答案 0 :(得分:1)

您可以随时使用;代替新行,例如:

$filename = 'filecsv' + (get-date -uformat %Y%m%d) + '.csv';$file = import-csv \\fs-01\daily\$filename

但我认为你想要的是:

$file = import-csv "\\fs-01\daily\filecsv$(get-date -uformat %Y%m%d).csv"

在双引号中,$(<code>)附件中的任何内容都将在作为字符串的一部分返回之前被处理,因此就Import-CSV而言:

"\\fs-01\daily\filecsv$(get-date -uformat %Y%m%d).csv"

看起来像这样:

"\\fs-01\daily\filecsv20140306.csv"