批次檔將檔案從子目錄移至根目錄並覆蓋名稱衝突的文件

批次檔將檔案從子目錄移至根目錄並覆蓋名稱衝突的文件

因此,請求一些幫助,我目前正在嘗試整理我的谷歌照片中的混亂。我已經下載了谷歌照片的存檔,並且有一堆包含文件/照片的資料夾。我正在嘗試編寫一個批次文件,將文件/照片從文件夾移動到我用於清理的便攜式驅動器的根目錄。

到目前為止我有這個:

@echo off
for /f "tokens=*" %%f in ('dir /a:-D /s /b') do move "%%f" .
for /f "tokens=*" %%f in ('dir /a:D /s /b') do rd "%%f"

它有效,我遇到的唯一問題是,不同資料夾中可能存在具有相同檔案名稱的照片,而我不想覆蓋。

我可以在移動命令上設定任何參數來阻止覆蓋嗎?

謝謝

答案1

我可以在移動命令上設定任何參數來阻止覆蓋嗎?

您可以使用/-Y開關(覆蓋檔案時啟用確認提示)。

以下技巧將回答n,因此移動不會發生:

echo n|move /-y "%%f" .

筆記:

  • 此技巧僅適用於單一文件,無通配符

  • 如果一個文件是不是移動您的以下rd命令將失敗並出現以下錯誤:

    The directory is not empty.
    

進一步閱讀

相關內容