Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 复制文件名为计算机主机名的项目_Powershell - Fatal编程技术网

Powershell 复制文件名为计算机主机名的项目

Powershell 复制文件名为计算机主机名的项目,powershell,Powershell,在Powershell中有一个基本问题。我正在做一个从UNC共享到本地C:\驱动器的简单复制项目脚本。这是我的密码: $hostname = $env:computername Copy-Item -Path '\\server\share\$hostname.txt' -Destination 'C:\' 我无法理解让它使用变量检索与主机名匹配的文本文件的语法。如果我放入一个静态命名的.txt文件,代码就可以运行了 我必须在变量周围放置什么才能使其工作?单引号字符串不会扩展变量。您需

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

$hostname = $env:computername    
Copy-Item -Path '\\server\share\$hostname.txt' -Destination 'C:\'
我无法理解让它使用变量检索与主机名匹配的文本文件的语法。如果我放入一个静态命名的.txt文件,代码就可以运行了


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

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

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

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

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

$hostname = $env:computername

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

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

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

仅供参考,UNC共享需要以双反斜杠-\\开头。谢谢,我一定是在复制代码时意外删除的。刚刚更正。你没有删除它。原始问题中缺少双斜杠(编辑前)。:-)