如何在2个PSDrives之间传输文件

时间:2017-01-10 00:50:25

标签: powershell

我在客户端计算机PowerShell会话上创建了两个PSDrives到两个不同的远程服务器。

New-PSDrive -Name DllFrom -PSProvider FileSystem -Root "\\WPDHSFMSLxx\adap\Database\Install\KareAssistTest\HIDn"

New-PSDrive -Name DllTo -PSProvider FileSystem -Root "\\WTDHSAPPLxx\d\ServerDLLDev"

我可以dir显示任何内容和内容。

我无法使用Copy-Item

在这两个驱动器之间复制文本文件
PS C:\WINDOWS\system32> Copy-Item DllFrom/HelloWorld.txt DllTo/HelloWorld.txt
Copy-Item : Cannot find path 'C:\WINDOWS\system32\DllFrom\HelloWorld.txt' because it does
At line:1 char:1
+ Copy-Item DllFrom/HelloWorld.txt DllTo/HelloWorld.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\WINDOWS\syst...\HelloWorld.txt:String) [
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand

我将位置更改为DLLFrom驱动器并尝试了它。

Set-Location DllFrom:
PS DllFrom:\>Copy-Item HelloWorld.txt DllTo

PS DllFrom:\> Copy-Item \\WPDHSFMSL03\adap\Database\Install\KareAssistTest\HIDn\HelloWorld.txt DllTo

什么都没发生,命令行刷新,但没有文件出现。

1 个答案:

答案 0 :(得分:3)

DllFrom和DllTo是驱动器,当您引用它们时,它们的名称中需要冒号。您使用不带冒号的@NotNull创建它们,但稍后在使用驱动器时使用它,就像单个字母驱动器-Name或其他提供程序(如C:

一样

尝试:HKCU:

还有更多overview on PSDrives at 4sysops。从链接页面:

  

请记住,PSDrive名称不包含冒号(:),但在使用驱动器设置位置时需要包含它。

当您执行Copy-Item DllFrom:/HelloWorld.txt DllTo:/HelloWorld.txt时,您将在当前目录中找到名为" DllTo"

的HellowWorld.txt副本