2013-04-11 85 views
1

我有一個Windows Server 2008的計算機上我的文件夾結構類似PowerShell腳本來移動文件夾一個級別,並刪除

root_folder 
...........username1 
....................project1 
............................category 
....................................subproject1 
....................................subproject2 
....................................subproject3 
....................project2 
............................category 
....................................subproject1 
....................................subproject2 
....................................subproject3 

...........username2 
....................project1 
............................category 
....................................subproject1 
....................................subproject2 
....................................subproject3 

....................project2 
............................category 
....................................subproject1 
....................................subproject2 
....................................subproject3 

先前包含的文件夾

現在,我需要做的是刪除類別文件夾,並直接在相應的項目(x)文件夾下複製其內容。有點像這樣

root_folder 
    ...........username1 
    ....................project1 
    ....................................subproject1 
    ....................................subproject2 
    ....................................subproject3 
    ....................project2 
    ....................................subproject1 
    ....................................subproject2 
    ....................................subproject3 

----------------------------------------------------------- 
    ...........username2 
    ....................project1 
    ............................subproject1 
    ............................subproject2 
    ............................subproject3 

    ....................project2 
    ............................subproject1 
    ............................subproject2 
    ............................subproject3 

----------------------------------------------------------- 

這是如何用powershell腳本完成的。另外什麼是最好的PowerShell腳本或批處理文件。

+0

您是否試圖自己寫這個腳本?你可以發佈你有什麼? – mjolinor 2013-04-11 11:29:22

+0

不,我沒有腳本語言的知識。 – rkj 2013-04-11 11:31:18

回答

1

編輯:我爲了還存在移動在類別文件夾中的文件添加修改。

@echo off 
rem Enter into Root Folder 
cd \root_folder 
rem Process each User Name folder 
for /D %%u in (*) do (
    rem Enter into the user name folder 
    cd "%%u" 
    rem Process each Project 
    for /D %%p in (*) do (
     rem Enter into the category of this project 
     cd "%%p\category" 
     rem Move all subprojects one level up 
     for /D %%s in (*) do move "%%s" .. 
     rem Move all files one level up 
     move *.* .. 
     rem Go back one level up to project folder 
     cd .. 
     rem Remove the now empty category folder 
     rd category 
     rem Go back one level up to user folder 
     cd .. 
    ) 
    rem Go back one level up to root folder 
    cd .. 
) 
+0

Thanks @Aacini,That works awsome !!!但它無法移動文件。 如果在項目或分類文件夾(文件和子文件夾)中有任何文件,它不會將它們移到水平位置。我可能忘了在我的問題中提到它。你能幫我解決這個新的測試條件嗎? – rkj 2013-04-12 10:06:25

+0

@rohitj:已添加修改! ;-) – Aacini 2013-04-13 02:11:48

+0

百萬感謝@Aacini !!! – rkj 2013-04-13 06:19:14

0

我有大致相同的問題。我寫的是這樣的:

$category_list = Get-ChildItem *\*\* 

Get-ChildItem *\*\*\* | % { Move-Item $_.FullName (($_.Parent).Parent).FullName } 

$category_list | Remove-Item -Recurse 
相關問題