批处理文件将文件移动到不存在的文件夹

时间:2011-12-06 09:41:17

标签: windows batch-file

我不是一位经验丰富的Windows用户(对我很轻松)。

我被要求创建一个简单的批处理文件,它使用Move方法将一组文件移动到一个文件夹中。此文件夹名为“1”(在特定日期之后)。但是,在我的批处理文件中,我错误地将其命名为“01”。文件被压缩,而不是导致错误,并移动到路径位置的新文件中,名为“01”。它没有文件类型,我不知道如何扩展它以再次查看我的原始文件。我试过把它转换成.rar和.zip,但我担心这是我抓着稻草。

非常感谢任何帮助!

编辑:

以下是用于文件的原始代码......

for /f %%f in ('dir/b \\folder1\folder2\Archive') do (

MOVE "\\folder1\folder2\Archive\%%f" "\\folder1\folder2\Archive\2011\11\01\")

2 个答案:

答案 0 :(得分:1)

你一个接一个地移动文件,而不是一次移动所有文件,我想(因为那是不可能的)。

文件01包含您移动的 last 文件的内容。基本上,如果move操作的目标是文件或不存在,则表示您正在进行重命名。所有以相同方式移动到同一文件中的文件都将丢失。

答案 1 :(得分:0)

不幸的是(由于数据丢失的可能性),Joey的回答可能是正确的。

如果我尝试执行类似move *的操作,我会收到错误消息:"无法将多个文件移动到单个文件中。"

此处描述了另一种可能性:https://superuser.com/questions/111825/any-command-line-or-batch-cmd-to-concatenate-multiple-files

基本上,尽管"移动"单独(由于上述警告) - 可能是一个机会,你使用了复制命令,然后在复制后删除了文件? (效率低下的移动?)如果是这样,那么01文件的内容可能是合并(连接)在一起的所有单个文件的内容。在这种情况下,假设您可以找到每个文件的文件结束位置,那么仍然可以恢复数据。

因为在任何一种情况下,这都没有导致任何类型的正确压缩,它不是.zip文件,相关的压缩工具在这里没有多大帮助。