我有两个不同的路径(目录路径和文件路径)。我需要将文件从一个目录移动到另一个目录。我该怎么做?
使用
mv
功能。
help?> mv
…
mv(src::AbstractString, dst::AbstractString; force::Bool=false)
Move the file, link, or directory from src to dst. force=true will first remove an existing dst. Return dst.
需要注意的一点是
src
和dest
都必须是完整路径,即如果您的源文件路径是src = /home/me/file.txt
并且您想将其移动到目录路径dstdir = /home/me/.julia
下,则调用应该是 mv(src, joinpath(dstdir, basename(src))
。
(需要明确的是,参数可以是绝对路径或相对路径,都可以。我所说的“完整路径”只是指
src
和 dst
都必须包含文件名,dst
不能只是一个目录,除非您希望覆盖目录本身。)
我需要在 Julia 中做同样的事情,但是对于多个文件,所以我编写了一个函数来实现这一点,结合了不同人的技巧:
using Glob
function moov(stringpattern::String, fromdir::String, todir::String)
frompath = readdir(Glob.GlobMatch(stringpattern), fromdir);
topath = joinpath.(todir, basename.(frompath));
mv.(frompath, topath, force=true);
end