You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell跨服务器复制文件夹(含子文件夹)报错:路径不存在

解决PowerShell跨服务器复制文件夹的路径错误与凭据验证问题

兄弟,你遇到的错误核心是UNC路径格式不对,还有没处理跨服务器的凭据验证问题,我给你一步步捋清楚:

首先,修正路径格式问题

你写的\\10.X.X.Z\E:\abc\TASKS\AUTO_DAILY_TOLL_NOTICE是错误的UNC路径写法!正确的UNC路径应该是\\服务器地址\共享名\子路径,而不是直接把本地驱动器路径怼进去。

默认情况下,Windows服务器的每个驱动器都有一个隐藏的管理员共享(比如E盘对应E$),所以你需要把路径改成这样:

  • 源路径:\\10.X.X.Z\E$\abc\TASKS\AUTO_DAILY_TOLL_NOTICE
  • 目标路径:\\10.X.X.Y\E$\AshimTest\myscript(注意你原来写的E\也要改成E$)

然后,添加凭据验证

跨服务器复制需要有权限的账号验证,下面给你两种靠谱的实现方式:

方式1:直接在Copy-Item中指定凭据

先获取有权限访问两台服务器的凭据,然后直接用Copy-Item命令:

# 弹出窗口让你输入账号密码
$cred = Get-Credential -Message "输入可访问源和目标服务器的账号信息"

# 执行复制,注意路径已经修正
Copy-Item "\\10.X.X.Z\E$\abc\TASKS\AUTO_DAILY_TOLL_NOTICE" -Destination "\\10.X.X.Y\E$\AshimTest\myscript" -Recurse -Credential $cred

方式2:先映射网络驱动器再复制(适合复杂场景)

如果直接用Copy-Item加-Credential参数报错,可以先把远程共享映射成本地驱动器,再操作:

$cred = Get-Credential -Message "输入可访问源和目标服务器的账号信息"

# 映射源服务器的E盘共享
New-PSDrive -Name SourceDrive -PSProvider FileSystem -Root "\\10.X.X.Z\E$" -Credential $cred
# 映射目标服务器的E盘共享
New-PSDrive -Name DestDrive -PSProvider FileSystem -Root "\\10.X.X.Y\E$" -Credential $cred

# 执行复制
Copy-Item "SourceDrive:\abc\TASKS\AUTO_DAILY_TOLL_NOTICE" -Destination "DestDrive:\AshimTest\myscript" -Recurse

# 复制完成后移除映射(可选,但建议清理)
Remove-PSDrive -Name SourceDrive
Remove-PSDrive -Name DestDrive

额外注意事项

  • 确保你用的账号对源文件夹有读取权限,对目标文件夹有写入权限
  • 如果服务器没开启默认的E$共享,你需要手动在对应服务器上创建共享(比如共享E盘或者目标文件夹),然后把路径里的E$换成你自定义的共享名
  • 检查两台服务器之间的网络:能ping通吗?防火墙有没有放行SMB端口(默认445)?

内容的提问来源于stack exchange,提问作者ashim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:58:34