得到了我认为是一个相当简单的问题,但经过几个小时的谷歌搜索,我找不到答案。我很确定Powershell是多才多艺的足以做到这一点,我只是不知道如何去编码。
所以基本上,我有这个:
- W:\(根)
- 主文件夹1
- 子文件夹1
- 子-子文件夹1
- 子-子文件夹2
- 子-子文件夹3
- File1.fil
- File2.fil
- File3.fil
我所要做的就是让Powershell搜索子文件夹1,并将子文件夹1-3(及其内容)移动到子文件夹1中,但忽略文件1-3。
我所编写的语法如下所示:
$source = "W:\Main Folder 1\Subfolder 1\"
$destination = "W:\Main Folder\"
Get-ChildItem $source -attributes D -Recurse | Move-Item -Destination "$destination" -Force -Verbose
当我-WhatIf它看起来应该工作,但当我尝试它,我得到可怕的“不能创建一个文件时,该文件已经存在”(基本上它是说,它不能创建文件夹在主文件夹1与相同的名称,从子文件夹1).我有一个-Force标志那里,我以为这将做的伎俩,但...
你知道怎么强迫它移动它们吗?(我不想让它删除现有的文件夹来移动新的文件夹。)
2条答案
按热度按时间koaltpgm1#
如果我明白你想干什么的话这个密码是有效的。
详细输出:
源文件夹中的7个常规文件仍保留在那里。源文件夹中的目录及其所有内容(包括子文件夹)都被移动。
只需确保源目录和目标目录定义正确。注意不需要-Recurse开关,因为移动整个目录也会移动其内容。
编辑删除不必要的报价每mklelement 0的评论如下!
fsi0uk1n2#
这应该会让你更进一步。将
"$($folder.name)-2"
更改为你想要附加新文件夹名称的任何东西。