使用 ruby 或 shell 脚本在另一个文件夹中移动文件夹?

问题描述 投票:0回答:2

我有一个通用文件夹名称

Vijay
,其中有许多文件夹。

文件夹名称示例:

32
032
055
056
095

如何将名为

32
的文件夹移动到
032
文件夹中。

我需要 Ruby 脚本或 shell 脚本。

ruby shell
2个回答
4
投票

你可以这样做:

require 'fileutils'
FileUtils.cp_r("path_to_vijay/32/","path_to_vijay/032/")

阅读文档

::cp_r

将 src 复制到 dest。如果 src 是目录,则此方法递归复制其所有内容。 如果 dest 是目录,则将 src 复制到 dest/src

示例:-

require 'fileutils'

# see here the test2 directoy is empty
Dir.glob("#{__dir__}/test2/**/*") # => []
# look at the content of the test1 directory, which will be copied by it
# parent directory to test2
Dir.glob("#{__dir__}/test1/**/*") # => ["/home/arup/Ruby/test1/a.rb"]

FileUtils.cp_r("#{__dir__}/test1/","#{__dir__}/test2/")

# see the test1 directory itself got copied with all its contents to the
# test2/ directory
Dir.glob("#{__dir__}/test2/**/*")  
# => ["/home/arup/Ruby/test2/test1", "/home/arup/Ruby/test2/test1/a.rb"]

1
投票

使用系统命令:

`mv 32 032/`

或者:

FileUtils.mv '32', '032/' , :force => true

您可能想使用他们的完整路径。

© www.soinside.com 2019 - 2024. All rights reserved.