mv:目标不是目录

时间:2019-04-28 20:29:35

标签: bash git-bash

我正在Win 10中使用git bash。

我在目录中有以下内容:

$ls

  DSC_0683  DSC_0686.JPG  DSC_0687.JPG  DSC_0688.JPG  info.json

我想遍历目录并将所有以DSC * .JPG开始的文件更改为DSC *。我尝试过:

$ mv DS*.JPG DS*
mv: target 'DSC_0688.JPG' is not a directory

如何使它正常工作。

1 个答案:

答案 0 :(得分:0)

在您的情况下(多个源文件),命令“ mv”的正确语法为

mv SOURCE..FILES DESTINATION_DIR

bash在下面阅读您的表情时:

  mv DS*.JPG DS*

它将继续进行所谓的“路径名扩展”(有关更多信息,请参见“ man bash”)。 因此,表达式变为:

 mv DSC_0001.JPG DSC_0002.JPG DSC_0688.JPG

bash将DSC_0688.JPG解释为** DESTINATION_DIRECTORY ** 并错误地指出原因是它不是“目录”。

所以您应该写:

  mv DS*.JPG DS* DESTINATION_DIR