如何使用 powershell 将整个文件夹复制到某个 IP 地址?
How can I copy a whole folder to a certain IP adress with powershell?
我目前正在尝试实现一项功能(最好是在 powershell 中),该功能会定期(每小时)将某个文件夹从我的台式计算机复制到另一台计算机。
另一台计算机未在我的本地网络中列出,但我有 IP 以及具有必要用户名和密码的用户凭据。
到目前为止,我尝试使用 robocopy,但我似乎不太明白如何让它工作。
如果重要:我的台式计算机是 运行 Windows 10,而另一台计算机是 raspberry pi 运行 Raspbian。
是否有已经成功尝试的示例代码可用?
robocopy
不处理身份验证。如果您需要提供访问远程 (SMB) 共享的凭据,您需要先将其映射到驱动器盘符,然后才能将其与 robocopy
一起使用。这是假设你的 RasPi 是 运行 Samba。
net use X: \192.168.23.42\share /user:username password
robocopy C:\some\folder X:\ /s
net use X: /d
以上代码在 CMD 和 PowerShell 中运行。
您还可以通过 New-PSDrive
映射网络驱动器,但这需要更多代码:
$pw = ConvertTo-SecureString -String 'password' -AsPlainText -Force
$cred = New-Object Management.Automation.PSCredential ('username', $pw)
New-PSDrive -Name X -PSProvider FileSystem -Root '\192.168.23.42\share' -Credential $cred -Persist | Out-Null
robocopy C:\some\folder X:\ /s
Remove-PSDrive -Name X
如果您的凭据不是用于 SMB 而是用于 SSH 访问,您可以使用 WinSCP .Net assembly.
如果您的树莓派启用了 ssh(通常是这种情况),您可以使用 WinScp
。 WinScp 提供了一堆命令行选项和脚本检查 WinScp website。您可以创建自己的 WinScp 复制脚本并通过以下方式启动它:
winscp.com /script=script.txt
希望对您有所帮助。
我目前正在尝试实现一项功能(最好是在 powershell 中),该功能会定期(每小时)将某个文件夹从我的台式计算机复制到另一台计算机。
另一台计算机未在我的本地网络中列出,但我有 IP 以及具有必要用户名和密码的用户凭据。
到目前为止,我尝试使用 robocopy,但我似乎不太明白如何让它工作。
如果重要:我的台式计算机是 运行 Windows 10,而另一台计算机是 raspberry pi 运行 Raspbian。
是否有已经成功尝试的示例代码可用?
robocopy
不处理身份验证。如果您需要提供访问远程 (SMB) 共享的凭据,您需要先将其映射到驱动器盘符,然后才能将其与 robocopy
一起使用。这是假设你的 RasPi 是 运行 Samba。
net use X: \192.168.23.42\share /user:username password
robocopy C:\some\folder X:\ /s
net use X: /d
以上代码在 CMD 和 PowerShell 中运行。
您还可以通过 New-PSDrive
映射网络驱动器,但这需要更多代码:
$pw = ConvertTo-SecureString -String 'password' -AsPlainText -Force
$cred = New-Object Management.Automation.PSCredential ('username', $pw)
New-PSDrive -Name X -PSProvider FileSystem -Root '\192.168.23.42\share' -Credential $cred -Persist | Out-Null
robocopy C:\some\folder X:\ /s
Remove-PSDrive -Name X
如果您的凭据不是用于 SMB 而是用于 SSH 访问,您可以使用 WinSCP .Net assembly.
如果您的树莓派启用了 ssh(通常是这种情况),您可以使用 WinScp
。 WinScp 提供了一堆命令行选项和脚本检查 WinScp website。您可以创建自己的 WinScp 复制脚本并通过以下方式启动它:
winscp.com /script=script.txt
希望对您有所帮助。