Powershell>路径未找到,但它确实存在

时间:2013-05-24 14:11:19

标签: powershell

我有以下powershell将文件从服务器移动到本地。我一直找不到路径。路径长度为280个字符+文件名大约30到70个字符。怎么办?

$destDir = "C:\test\Files\"
$csv = import-csv 'C:\test\FilesWithPath.csv'

#For each line in the CSV
$csv | % {                                                           

            robocopy $_.SourceFilePath $destDir $_.SourceFileName 
        }

3 个答案:

答案 0 :(得分:1)

我的建议是这样的: 使用此命令查找路径长度超过256个字符的所有文件 - How do I find files with a path length greater than 260 characters in Windows?

保存为CSV并将另一个脚本写入CD到该位置,并仅使用文件名和目标路径进行复制/移动。

答案 1 :(得分:1)

归功于C.B。

以下是与Robocopy一起使用LONG文件路径的代码。

$destDir = "C:\test\Files\"
$csv = import-csv 'C:\test\FilesWithPath.csv'

#For each line in the CSV
$csv | % {                                                           

            robocopy $_.SourceFilePath $destDir $_.SourceFileName 
        }

答案 2 :(得分:0)

处理此问题的一种可能方法是将subst驱动器号的父目录复制并从那里复制文件:

$csv | % {
  $i = $_.SourceFilePath.LastIndexOf('\')
  $d = $_.SourceFilePath.SubString(0, $i)
  $f = $_.SourceFilePath.SubString($i+1)

  subst T: $d
  Copy-Item "T:\$f" $destDir
  subst T: /d
}