选择要移动的文件后是否可以创建目标文件夹

选择要移动的文件后是否可以创建目标文件夹

我面临一个特定问题,我必须手动处理来自不同目录的多个文件。我想知道是否可以为已选择的文件动态创建目标文件夹。

答案1

执行此操作的脚本是没有你在 POSIX shell 中想象的那么简单,但在 bash 中很容易:

#!/bin/bash

mkdir -p "${@: -1}" || exit 1
mv "$@"

它使用 Bash-ism 来获取最后一个参数和mkdir它。 mkdir 的选项-p可以创建整个目录链,因此如果您尝试创建“dir/subdir”,它就会起作用。

答案2

可能重复的如果目录不存在,有没有办法让 mv 创建要移动到的目录?

您可以使用 bash 脚本和别名来为此创建一个“新命令”。

cmv.sh

#!/bin/bash

mkdir --parents "$2"; mv "$1" "$_"

~/.bashrc添加以下行:

alias cmv="/path/to/cmv.sh"

然后你可以像这样使用它:

~# cmv **/*.zip destination

并且目的地将被创建。

相关内容