2015-12-13 140 views
0

我希望將文件夾結構中的所有文件移動一步,這是否可以在Windows環境中進行批處理?將所有文件從文件夾移動到它自己的子文件夾

例子:

我有4個文件夾

Folder1/subfolder1/*here are files* 
Folder2/subfolder2/*here are files* 
Folder3/subfolder3/*here are files* 
Folder4/subfolder4/*here are files* 

結果將是:

Folder1/*here are files*/subfolder1/ 
Folder2/*here are files*/subfolder2/ 
Folder3/*here are files*/subfolder3/ 
Folder4/*here are files*/subfolder4/ 

這可能嗎?批量?有任何想法嗎?謝謝!

回答

0

將這個批處理文件Folder1中,文件夾2,同一水平......

@echo off 

rem For each folder i.e. "Folder1", "Folder2", ... 
for /D %%a in (*) do (

    rem For each subfolder in this folder i.e. "subfolder1" 
    for /D %%b in ("%%a\*") do (

     rem Move the files 
     move "%%b\*.*" "%%a" 

    ) 
) 
0

假設這是在Windows機器上。

,在命令提示符下面的命令將文件從subfolder1移動到Folder1中

C:\Folder1\subfolder1>move *.* ..\ 

更多使用幫助上移動命令,請使用以下命令

C:\Folder1\subfolder1>move /? 

謝謝, 希望這會有所幫助!

+0

像這樣的事情,是的!但如何做到超過1個文件夾,而不必輸入確切的文件夾路徑?謝謝! –

+0

如果您啓動/ w「Folder1」,並將每個子文件夾內的所有文件移動到「Folder1」根目錄,則最終將移動更多的文件夾並繼續移動,直到「Folder1」下的每個文件夾都清空。爲了克服這個問題,開始時可以重命名所有文件夾併爲標識符加前綴。然後在循環中,如果某個文件夾是其中一個初始文件夾,請將其放入CD中,然後將數據移動到一級。然後cd ..回到「Folder1」。並繼續循環。您可以在網上找到批處理腳本教程。這裏是wikibooks的一個這樣的參考:https://en.wikibooks.org/wiki/Windows_Batch_Scripting –

0

你的問題並不完全清楚。其結果是subfolder1/*here are files*/的子文件夾?什麼平臺?

如果你只是在談論移動文件,在Unix上,那麼你可以做(​​在bash):

mv Folder1/*/* Folder1 

或者,遍歷每個文件夾,你可以這樣做:

for f in * 
do 
    mv "$f/*/* $f" 
done 

這將清空其內容的每個subfolderX並將其向上移動一步。

如果您只想移動文件,請查看find命令來過濾文件。

+0

對不起,如果我的問題是模糊的,我在一臺Windows機器上,我試圖做你在你的第二部分描述發佈,批量/ cmd –

相關問題