2011-12-06 62 views
1

我不是一個有經驗的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\") 
+0

哪個版本的Windows?任何你可以提供批處理文件的機會 - 或者至少是你使用的確切(錯誤)移動命令? – ziesemer

+0

謝謝。我正在運行Windows 7.我已根據要求更新了我的問題。 – tob88

回答

1

您可以通過一個移動的文件之一,而不是全部一次,我想(因爲這止跌否則就不可能)。

文件01包含您移動的最後文件的內容。本質上,如果move操作的目標是一個文件或者不存在,那麼您正在重命名。所有文件以相同的方式移動到相同的文件中都會丟失。

+0

感謝您的回覆。我用了一個for/f循環。所以我無法恢復它們? – tob88

+0

試試[Recuva](http://www.piriform.com/recuva),但這實際上不是一個SO問題。 –

+0

@Joey:你說得對。 OP不會移動一組文件,而是逐個移動每個文件。除了最後一個沒有辦法恢復文件:'ren 01 thelastfile.ext' – Aacini

0

不幸的是(由於數據丟失的可能性),喬伊的答案可能是正確的。

如果我嘗試做類似move *的操作,我收到錯誤消息:「無法將多個文件移動到單個文件。」

這裏描述的另一種可能性:https://superuser.com/questions/111825/any-command-line-or-batch-cmd-to-concatenate-multiple-files

基本上,雖然無法與「移動」獨(由於上述警告) - 可能通過關閉的機會,你所使用的複製命令,然後刪除他們被複制後的文件? (一種低效率的舉動?)如果是這樣,那麼有可能您的文件內容是合併(拼接)在一起的所有單個文件的內容。在這種情況下,假設您可以找到每個文件的文件結束位置,仍應該可以恢復數據。

因爲在這兩種情況下,這並沒有導致任何形式的正確壓縮,它不是一個.zip文件,相關的壓縮工具在這裏沒有多大的幫助。

相關問題