批处理文件移动一个文件

时间:2015-11-15 18:52:02

标签: file batch-file move

我不是程序员,但我确实喜欢编写代码并尝试在我想到的项目上实现自动化。

我有一个文件夹(folder1),其中包含许多图片。此文件夹中的图片是从互联网上自动下载的,因此我无法知道文件夹中.jpg文件的具体名称。

我想要做的是创建一个批处理,将 1 文件(.jpg图像)从folder1移动到另一个文件夹(folder2)。我发现的所有内容都告诉我,我必须将要移动的文件名放在批处理中。但我的问题是我不知道要移动的文件的具体名称。我只想将1(任何1).jpg文件移动到folder2。所以我认为可能有帮助的是让批处理随机移动或从folder1移动到fodler2的第一个.jpg。

但我不知道如何编写批处理脚本以便将第一个文件(.jpg文件)从fodler1或随机文件从folder1(更容易编写的选项)移动到folder2

到目前为止我尝试了但是它没有用,因为它将所有文件从folder1移动到folder2是这样的:

move 1 /y "C:\Users\xyzuser\Desktop\folder1\*.jpg" "C:\Users\xyzuser\Desktop\folder2"
pause

任何人都可以帮我查看正确的批次应该是什么,以便将一个文件(任何一个,不关心名称)从folder1移动到folder2?

提前感谢您的任何答案!

1 个答案:

答案 0 :(得分:0)

这将获取文件夹的第一个文件名(按字母顺序):

template<typename> class type { };

template <typename Functor, typename Arg>
decltype(auto) call(Functor f, Arg &&arg) {
    return call(f, std::forward<Arg>(arg), type<std::decay_t<Arg>>());
}

template <typename Functor, typename Arg, typename T>
decltype(auto) call(Functor f, Arg &&arg, type<T>) {
    ...
}

template <typename Functor, typename Arg, typename ...T>
decltype(auto) call(Functor f, Arg &&arg, type<std::tuple<T...>>) {
    ...
}

for %%i in ("C:\Users\xyzuser\Desktop\folder1\*.jpg") do set "file=%%i" & goto :continue :continue echo filename is: %file% move "%file%" "C:\Users\xyzuser\Desktop\folder2" 将返回每个匹配的文件名,但for在第一个文件后将其分隔