2014-03-28 221 views
0

我有n個具有圖像的子文件夾。我想將所有圖像移到主文件夾以正確組織它們。將圖像從子文件夾移動到主文件夾

對於實施例 -

C:\Users\HP\Downloads\NeoDownloader\Book Cover\fc02.deviantart.net\fs17\i\2007\225\9\0\front_cover_of_myths_book_by_cathydelanssay.jpg 

C:\Users\HP\Downloads\NeoDownloader\Book Cover\fc02.deviantart.net\fs30\i\2008\092\8\7\The_Seagull_by_rei_i.jpg 

像上面位置,我有更多然後20​​00圖像。我想在一個主文件夾中移動所有這些圖像。

如果文件夾名稱不變,我可以寫入批處理文件。但是這些子文件夾是不一樣的。所以我不能在批處理文件中指定。沒有編碼就難以移動。所以幫助我組織我的電腦中的圖像。

說明 -

  1. 所有圖片JPG格式只
  2. 列表項最後一個文件夾包含只有少數 圖像,其他子文件夾沒有圖像文件。

enter image description here

回答

1
@echo off 
    setlocal enableextensions 

    set "inputFolder=C:\Users\HP\Downloads\NeoDownloader" 
    set "outputFolder=c:\somewhere" 

    for /r "%inputFolder%" %%a in (*.jpg) do (
     if not exist "%outputFolder%\%%~nxa" ( 
      move "%%~fa" "%outputFolder%" 
     ) else (
      for /f "delims=" %%b in ('dir /b "%outputFolder%\%%~na_~[*]%%~xa" 2^>nul ^| find /c /v ""') do (
       move "%%~fa" "%outputFolder%\%%~na_~[%%b]%%~xa" 
      ) 
     ) 
    ) 

執行文件的遞歸枚舉。對於找到的每個文件,如果它不存在於目標文件夾中,請移至目標。如果有一個具有相同名稱的文件,它將以增量文件名移動。不是防彈的,但應該做這項工作。

+0

謝謝MC ND。是否可以從輸入文件夾路徑刪除空文件夾?因爲在移動圖像後,我的系統有超過5000個空文件夾。 – Sagotharan

+0

@Sagotharan,因爲所有的NeoDownloader已被刪除,請將其刪除'rd「C:\ Users \ HP \ Downloads \ NeoDownloader」/ s/q'要小心,無需確認遞歸刪除文件夾。 –

+0

再次謝謝MC ND。這批文件沒有什麼意思。你節省了我的時間。 – Sagotharan

0

確保在運行批處理之前創建輸出目錄。我很難學會這個...

相關問題