PowerShell脚本移动文件夹一个级别,并删除含有previous文件夹 [英] PowerShell Script to move folders one level up and delete the previous containing folder
本文介绍了PowerShell脚本移动文件夹一个级别,并删除含有previous文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Windows Server 2008的计算机上,我的文件夹结构,像
I'm having a windows server 2008 machine on which i've a folder structure like
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)的文件夹中复制其内容。有点像这样
Now here what i need to do is remove the category folder and copy its content directly under the respective project(x) folder. Somewhat like this
root_folder
...........username1
....................project1
....................................subproject1
....................................subproject2
....................................subproject3
....................project2
....................................subproject1
....................................subproject2
....................................subproject3
-----------------------------------------------------------
...........username2
....................project1
............................subproject1
............................subproject2
............................subproject3
....................project2
............................subproject1
............................subproject2
............................subproject3
-----------------------------------------------------------
这怎么可以用PowerShell脚本来完成。还什么是最好的PowerShell脚本或批处理文件。
How this can be done with powershell script. Also what would be the best a powershell script or a batch file.
推荐答案
修改:我为了也移动文件present类别的文件夹添加修改
EDIT: I added a modification in order to also move the files present in category folder.
@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 ..
)
这篇关于PowerShell脚本移动文件夹一个级别,并删除含有previous文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文