3

在 Powershell 中似乎是一个基本问题。我正在做一个从 UNC 共享到本地C:\驱动器的简单复制项脚本。这是我的代码:

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

我无法弄清楚让它使用变量检索与主机名名称匹配的文本文件的语法。如果我放入一个静态命名的 .txt 文件,该代码就可以工作。

我必须在该变量周围放置什么才能使其工作?

4

3 回答 3

2

您需要用这样的双引号替换单引号:

$hostname = $env:computername

Copy-Item -Path "\\server\share\$hostname.txt" -Destination 'C:\'
于 2012-12-21T00:31:34.920 回答
1

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

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

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

于 2012-12-21T00:29:52.030 回答
1

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

Copy-Item "\\server\share\$env:computername.txt" C:\
于 2012-12-21T09:16:03.713 回答