通過此代碼,每個子目錄中的所有文件都將向上移動一層,而不僅僅是最後一個子目錄中的文件。此外,放置bat文件的文件夾中的文件以及bat文件本身也會向上移動一層。這不是這個意圖。我只想移動最後一個子目錄中的文件。
有關信息,每個文件夾的最後子目錄也有不同的名稱。DOS批處理命令將最後一個子目錄中的所有文件移動到一個水平
for /r %%x in (*.*) do move "%%x" "%%x"/../..
後來,如果這應該工作,我也會刪除空的子目錄。但現在最大的問題是將文件上移一層。
作爲一個文件夾的例子:
我:
D:\FILMS
------\Bikini Spring Break
-------------\EPCSKGCWZCXDJEH
---------------------------\DVD
------------------------------\P2HBSB5.iso
------------------------------\0001.jpg
------------------------------\lees.txt
我想:
D:\FILMS
------\Bikini Spring Break
-------------\EPCSKGCWZCXDJEH
---------------------------\P2HBSB5.iso
---------------------------\0001.jpg
---------------------------\lees.txt
最後,在結束它的意圖得到這樣的:
D:\FILMS\Bikini Spring Break\P2HBSB5.iso --> and other files (".jpg", etc)
D:\FILMS\Breaking the Girls (20122013) PAL\P2HBTG5.iso
D:\FILMS\De marathon\MW93JLNPNH8PLLK.iso
在這裏,所有子目錄都被刪除,所有文件都位於他自己的電影命名文件夾中。
因爲所有的電影文件夾都沒有子目錄相同數量,我認爲唯一的解決辦法是將所有文件從最後subirectory一個級別移動,看看哪些文件夾仍然有子目錄,然後將這些的在一個單獨的文件夾,所以我將能夠執行代碼,直到所有子目錄被刪除。
缺少一個點:'move'%% b「../-y'。 ;) – Endoro
@Endoro不,它將所有文件移動到當前目錄。感謝您檢查它。 – foxidrive
啊,好的。我想到了一個層次。但要移至當前文件夾,根本不需要點。 – Endoro