我最近买了一台新笔记本电脑,出于某种原因,DropBox 决定复制里面的所有东西。我喜欢尽可能多地自学一点 PoSH,这样我就可以更擅长它,所以我认为这可能是一个好时机,但到目前为止,我的胡闹还没有运气。我不是一个完全的菜鸟,但绝对还是一个。
基本上所有的欺骗文件最后都有一个(1)(例如文件名(1).txt)。我能够确定那些:
gci -recurse | ? { $_.Name -like "*(1)*" }
到目前为止很好,但是我想将它们移动到“dupes”目录并保留子文件夹结构。无论出于何种原因,看起来应该很简单的事情,PoSH 都变得非常困难。我搜索了高低并找到了一些接近的例子,但它们还包括一堆其他参数,最终让我感到困惑。我相信我追求的是:
*使用上述命令查找项目
*Pipe to Move-Item
*不知何故包括 New-Item -itemtype Directory -force
*还要检查该目录是否已存在
目前我有:
$from = "C:\users\xxx\Dropbox"
$to = "C:\Users\xxx\Downloads\DropBox Dupes"
gci | ? { $_.Name -like "*(1)*" } | New-Item -ItemType Directory -Path $to -Force
Move-Item $from $to -Force
任何指针/帮助/示例?
谢谢!
Ps 虽然我已经停止了 Dropbox 并尝试了几个不同的文件,但我目前得到:
Move-Item : Cannot move item because the item at 'C:\users\jkelly.MC\Dropbox' is in use.
At line:2 char:1
+ Move-Item $from $to -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Move-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.MoveItemCommand