【发布时间】:2015-10-15 02:05:04
【问题描述】:
我的文件夹中有一组文件../SomeFolder/AndAnother/dist
dist 文件夹包含一堆文件和文件夹,我想在 Rake 任务中提升一个级别。
所以
../SomeFolder/AndAnother/dist/subFolder/a.txt 变为 ../SomeFolder/AndAnother/subFolder/a.txt
我可以通过
在 linux 上做到这一点task :lift_to_parent do
sh('mv', '../SomeFolder/AndAnother/dist/*', '../SomeFolder/AndAnother')
end
但是这个 Rake 任务也可以在 Windows 和那个操作系统上运行我得到Errno::EACCES: Permission denied @ unlink_internal
我希望FileUtils.mv 可以在 linux 和 windows 上运行...
但是如果我
task :lift_to_parent do
FileUtils.mv '../SomeFolder/AndAnother/dist', '../SomeFolder/AndAnother', :force => true
end
我得到了ArgumentError: same file: ../SomeFolder/AndAnother/dist and ../SomeFolder/AndAnother/dist,所以我显然遗漏了一些东西让FileUtils.mv 复制一个级别(或以错误的方式进行此操作)
那么,如何修复我的 FileUtils 版本或使用 Rake 任务将文件夹结构复制到其父级?
【问题讨论】: