Move-Item очень похожа на Copy-ltem. Фактически, если вы заменяете Copy-ltem на Move-ltem в любой из команд, представленных в предыдущем разделе, команды будут вести себя во многом так же, за исключением того, что исходные файлы будут удалены в исходную папку.


Однако есть одно важное различие. Если вы запустите одну и ту же команду Copy-ltem дважды, то обнаружите, что PowerShell переписывает существующий файл в папку назначения без какого-либо предупреждения.

Move-ltem более осторожна в этом смысле и вместо удаления выдает ошибку. Например, если вы запускаете команду Get-Childltem С:* – Include * txt I Where-Object’

{$_.LastAccessTime -gt ($ (Get-Date).AddMonths (-1))} I ForEach-Object {Move-ltem $_.FullName C:Temp) то получите ошибку Cannot create так как файл уже существует. Использование параметра – Force приводит к тому, что Move-Item переписывает существующий файл.

Помимо параметра -Force, вы можете задействовать параметры Recurse и – Filter в команде Move-ltcm, чтобы настраивать ее. Например, следующая команда перемещает текстовые файлы в папке C:Scripts и ее подпапках в папку C:TempText. В данном случае вам нужно указать имя параметра – Destination, поскольку вы не используете этот параметр в той позиции, где его ожидает PowerShell:

Move-ltem C:Scripts – Filter *.txt – Recurse4 – Destination C:TempText Как и Copy-ltem, Move-ltem имеет три псевдонима: move, mv и mi.

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий