2014-08-27 249 views
0

我正在尋找一個將子文件夾內的所有文件移動到父文件夾的.bat文件。bat文件將子文件夾中的文件移動到當前文件夾

實施例:
C:/games/nintendo/N/gamename/gamename.iso

我想運行,將其gamename.iso移動到文件夾N到是一個文件:

C:/games/nintendo/N//gamename.iso

感謝這麼多的幫助:__)

+0

搜索在線...但沒有什麼我需要什麼:(我對代碼沒有任何線索,所以我想我會問到這裏的人誰實際上知道:) – Juan71287 2014-08-28 00:21:24

回答

0
set root_folder=C:\games 

for /f "tokens=1* delims=" %%G in ('dir %root_folder% /b /o:-n /s ^| findstr /i ".iso" ') do (
    move /y "%%G" "%%~dpG..\%%~nxG" 
) 

更新

這裏的解釋是:
set root_folder=C:\games - 我們'重新設置一個我們稍後會用到的變量;這是我們要開始掃描根文件夾

for /f - 你可以在使用文檔,通過鍵入命令提示符for /?或本LINK

dir %root_folder% /b /o:-n /s - 我們列出所有的文件/文件夾,通過使用/b裸版格式的子文件夾; /o:-n降序排序; /s遞推正走在文件夾結構

^| findstr /i ".iso" - 我們正在通過管道|所有信息,然後尋找包含.iso的名字的事情。請注意,和轉義字符^需要

do ( - 對於每一個給輸出在此操作實例請執行下列操作:

move /y - 移動並在必要時覆蓋/y

%%G - 字符串,它是來自標準的輸出。

%%~dpG - d = drive letter,輸出字符串

..p = path的 - 這是當前文件夾

\%%~nxG以上的文件夾 - n = filenamex = extension爲使得輸出相匹配的文件。

這是它會是什麼樣子擴展(因此將文件複製到C:\games\nintendo\N\

move /y "C:\games\nintendo\N\gamename\gamename.iso" "C:\games\nintendo\N\gamename\..\\gamename.iso" 
+0

請嘗試解釋更多有關如何以及爲什麼這項工作 – Markasoftware 2014-08-28 01:12:10

+0

@Markasoftware加入 – Alex 2014-08-28 01:45:49

+0

謝謝這太棒了:)! – Juan71287 2014-08-28 11:28:03

0

創建具有以下一個bat文件:

XCOPY C:/遊戲/任天堂/ N/gamename C:/遊戲/任天堂/ N/S/E

相關問題