问题 Grunt JS复制到网络位置


我想使用grunt-contrib-copy(或任何其他grunt复制插件)将文件复制到网络位置。

尝试以下:

    copy: {
        test: {
            files: [
                { src: ['Scripts/*'], dest: ['\\\\location\\site\\Scripts\'] }
            ]
        }
    }

但得到:

警告:无法写入“\\ location \ site \ Scripts \”文件(错误 或代码:undefined)。使用--force继续。

是否可能/如何复制到网络位置?


2722
2018-05-14 10:50


起源



答案:


是的,这很简单,只需用正斜杠定义你的路径:

copy: {
     test: {
         files: [
             { src: ['Scripts/*'], dest: ['//location/site/Scripts/'] }
         ]
     }
}

这将在Windows上运行,咕噜声将照顾到这一点。试试看。


11
2017-08-07 08:16



dest不允许是一个数组(因此该位置周围没有方括号)。否则会出现此错误:警告:path.join的参数必须是字符串。一旦我删除了方括号,它对我有用:) - Daniel Tonon
这在以下错误的某些mac上失败: Running "copy" (copy) task Warning: Unable to create directory "/location" (Error code: EACCES). Use --force to continue. - evolutionxbox
看起来对于Windows来说,UNC路径非常有效。我使用UNC路径使用source和dest完成了一些配置。 - ozkary
这似乎不再起作用。 - Andy Mercer
如果要从Mac映射到Windows(并行驱动器)。您可能需要在目标路径的开头放置// Volumes /。 - Rmalmoe


答案:


是的,这很简单,只需用正斜杠定义你的路径:

copy: {
     test: {
         files: [
             { src: ['Scripts/*'], dest: ['//location/site/Scripts/'] }
         ]
     }
}

这将在Windows上运行,咕噜声将照顾到这一点。试试看。


11
2017-08-07 08:16



dest不允许是一个数组(因此该位置周围没有方括号)。否则会出现此错误:警告:path.join的参数必须是字符串。一旦我删除了方括号,它对我有用:) - Daniel Tonon
这在以下错误的某些mac上失败: Running "copy" (copy) task Warning: Unable to create directory "/location" (Error code: EACCES). Use --force to continue. - evolutionxbox
看起来对于Windows来说,UNC路径非常有效。我使用UNC路径使用source和dest完成了一些配置。 - ozkary
这似乎不再起作用。 - Andy Mercer
如果要从Mac映射到Windows(并行驱动器)。您可能需要在目标路径的开头放置// Volumes /。 - Rmalmoe


将文件从mac复制到Windows共享目录使用smb预先添加目标:

copy: {
  test: {
    files: [
      { src: ['Scripts/*'], dest: ['smb://location/site/Scripts/'] }
    ]
  }
}

KR, 约阿希姆


-1
2017-10-06 09:00



这不起作用(另见 github.com/gruntjs/grunt-contrib-copy/issues/208) - WiseOldDuck