首页 > 解决方案 > 无法使用 powershell 从映射的网络驱动器复制项目,因为文件包含奇怪的字符

问题描述

我正在尝试从映射的网络驱动器复制文件。其中一些被复制,但其他一些没有被复制,因为文件名有一些奇怪的字符。

例如我的映射网络驱动器 Z: 包含以下文件:

  1. 滑雪测试 1(1).pdf
  2. 邮件正文.msg
  3. k�rekort terje(3).pdf

我可以使用以下命令从映射的网络驱动器复制前两个文件,但不能复制最后一个文件

Copy-Item  -LiteralPath Z:\$name  -Destination I:\Dat\SomePath\ss/ -Force

我得到的错误是:

复制项目:找不到文件'Z:\k�rekort terje(3).pdf

我试过 [WildcardPattern]::Escape($name) 但这也没有用 如果有人知道解决方案,请提供帮助

标签: windowspowershell

解决方案


也许您可以改用 robocopy.exe 或 xcopy.exe ?
也许旧的“dir /x”可以帮助找出旧的“8.3”文件名(如“Get-GPProcessingTime.ps1”的“GET-GP~1.PS1”),这可以用来复制或重命名文件?
我还记得一些关于使用 \\0\driveletter\directory 或其他类似 unc 的语法绕过文件系统逻辑的内容 - 不幸的是,我不记得确切的语法。也许别人会?


推荐阅读