Copy-Item不保留目的地的文件名或扩展名

时间:2012-09-28 17:14:51

标签: powershell copy

我正在将.MSI文件复制到远程PC。 copy-item未保留远程目标的文件名或扩展名。我以为copy-item会按原样复制文件吗?

剧本:

net use Q: \\remotePC\C$\Temp /user:USERID PSWD
copy-item C:\TEMP\installation.msi -Destination Q:\Temp
dir Q:\
net use Q: /delete

复制后目标目录包含的内容,名为“Temp”且没有扩展名的文件。

    Directory: Q:\


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---          8/8/2012   3:57 PM   18900480 Temp

如果我尝试在copy-item cmd的目标中逐字地指定文件名,则会出现以下错误:

net use Q: \\remotePC\C$\Temp /user:USERID PSWD
copy-item C:\TEMP\installation.msi -Destination Q:\Temp\installation.msi
dir Q:\
net use Q: /delete

错误:

Copy-Item : Could not find a part of the path 'Q:\Temp\installation.msi'.
At P:\Powershell\CopyInstallFile\copyinstall.ps1:10 char:10
+ copy-item <<<<  C:\TEMP\installation.msi -Destination Q:\Temp\installation.msi
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], DirectoryNotFound
   Exception
    + FullyQualifiedErrorId : System.IO.DirectoryNotFoundException,Microsoft.P
   owerShell.Commands.CopyItemCommand

=============================================== ================= 编辑 - 如果我指定完整的网络路径,则会正确复制文件。显然,copy-item不喜欢使用net use

创建的驱动器
copy-item C:\TEMP\installation.msi \\remotePC\C$\Temp

2 个答案:

答案 0 :(得分:2)

您已将Q:映射到另一台计算机上的c:\ Temp文件夹。这意味着Q:\已指向临时目录。只需复制到Q:\而不是Q:\Temp,它就可以正常工作。

copy-item C:\TEMP\installation.msi -Destination Q:\

答案 1 :(得分:1)

看起来Q:\Temp不存在。首先尝试创建Temp文件夹,然后复制该文件。