copy-item,其中文件名是计算机主机名

时间:2012-12-21 00:25:48

标签: powershell

拥有Powershell中的基本问题。我正在从UNC共享到本地C:\驱动器执行简单的复制项目脚本。这是我的代码:

$hostname = $env:computername    
Copy-Item -Path '\\server\share\$hostname.txt' -Destination 'C:\'

我无法找出使用该变量检索与主机名相匹配的文本文件的语法。如果我输入一个静态命名的.txt文件代码可以工作。

我需要将该变量放在哪里才能发挥作用?

3 个答案:

答案 0 :(得分:2)

您需要用双引号替换单引号,如下所示:

$hostname = $env:computername

Copy-Item -Path "\\server\share\$hostname.txt" -Destination 'C:\'

答案 1 :(得分:1)

单引号字符串不会扩展变量。你需要一个双引号字符串,例如:

Copy-Item "\\server\share\$hostname.txt" C:\

通常,除非需要变量扩展或字符串中有空格,否则不需要将字符串参数引用到PowerShell命令。

答案 2 :(得分:1)

您也可以直接将环境变量嵌入双引号字符串中:

Copy-Item "\\server\share\$env:computername.txt" C:\