我在下面的脚本有一个错误:
$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
}