Powershell脚本问题

我在下面的脚本有一个错误:

$server_names = Get-Content "C:\ArchivedFolders.txt" Foreach ($server in $server_names){ Copy-Item "\\$server\C$\Mail\*" -Destination "\\10.100.101.50\mail\$server\" -Recurse } 

该脚本的目的是复制文件从众多的文件夹,并将其放置到许多其他文件夹。 错误在下面。

 Copy-Item : Cannot retrieve the dynamic parameters for the cmdlet. Illegal characters in path. At C:\mass_fetch.ps1:3 char:23 + Copy-Item <<<< "\\$server\C$\Mail\*" -Destination "\\10.100.101.50\mail\$server\" -Recurse + CategoryInfo : InvalidArgument: (:) [Copy-Item], ParameterBindingException + FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.CopyItemCommand 

我哪里做错了?

我认为你需要逃避你的源代码path中的C$ 。 你的string是双引号的,所以PowerShell可能会认为$\是一个variables。

 $server_names = Get-Content "C:\ArchivedFolders.txt" Foreach ($server in $server_names) { Copy-Item "\\$server\C`$\Mail\*" -Destination "\\10.100.101.50\mail\$server\" -Recurse 

}