Move-Item
Перемещает элемент из одного расположения в другое.
Синтаксис
Path (по умолчанию)
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath
Move-Item
[[-Destination] <String>]
-LiteralPath <String[]>
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Move-Item
перемещает элемент, включая его свойства, содержимое и дочерние элементы из одного расположения в другое расположение. Расположения должны поддерживаться тем же поставщиком.
Например, он может переместить файл или подкаталог из одного каталога в другой или переместить подраздел реестра из одного ключа в другой. При перемещении элемента он добавляется в новое расположение и удаляется из исходного расположения.
Примеры
Пример 1. Перемещение файла в другой каталог и его переименование
Эта команда перемещает файл Test.txt
из диска C:
в каталог E:\Temp
и переименовывает его из test.txt
в tst.txt
.
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Пример 2. Перемещение каталога и его содержимого в другой каталог
Эта команда перемещает каталог C:\Temp
и его содержимое в каталог C:\Logs
.
Каталог Temp
и все его подкаталоги и файлы, а затем отображаются в каталоге Logs
.
Move-Item -Path C:\Temp -Destination C:\Logs
Пример 3. Перемещение всех файлов указанного расширения из текущего каталога в другой каталог
Эта команда перемещает все текстовые файлы (*.txt
) в текущем каталоге (представленные точкой (.
)) в каталог C:\Logs
.
Move-Item -Path .\*.txt -Destination C:\Logs
Пример 4. Рекурсивно переместите все файлы указанного расширения из текущего каталога в другой каталог.
Эта команда перемещает все текстовые файлы из текущего каталога и всех подкаталогов, рекурсивно, в каталог C:\TextFiles
.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Команда использует командлет Get-ChildItem
для получения всех дочерних элементов в текущем каталоге (представленных точкой (.
)) и его подкаталогами с расширением имени файла *.txt
. Он использует параметр Recurse для рекурсивного извлечения и параметра Include, чтобы ограничить извлечение до *.txt
файлов.
Оператор конвейера (|
) отправляет результаты этой команды в Move-Item
, которая перемещает текстовые файлы в каталог TextFiles
.
Если файлы, которые необходимо переместить в C:\Textfiles
имеют то же имя, Move-Item
отображает ошибку и продолжается, но перемещает только один файл с каждым именем в C:\Textfiles
. Остальные файлы остаются в исходных каталогах.
Если каталог Textfiles
(или любой другой элемент пути назначения) не существует, команда завершается ошибкой. Отсутствующий каталог не создается для вас, даже если используется параметр Force.
Move-Item
перемещает первый элемент в файл с именем Textfiles
, а затем отображает ошибку, объясняющую, что файл уже существует.
Кроме того, по умолчанию Get-ChildItem
не перемещает скрытые файлы. Чтобы переместить скрытые файлы, используйте параметр force
Замечание
В Windows PowerShell 2.0 при использовании параметра Recurse командлета Get-ChildItem
значение параметра пути должно быть контейнером. Используйте параметр Include, чтобы указать фильтр расширения имени файла *.txt
(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
).
Пример 5. Перемещение разделов реестра и значений в другой раздел
Эта команда перемещает разделы реестра и значения в разделе реестра MyCompany
в HKLM\Software
в раздел MyNewCompany
. Подстановочный знак (*
) указывает, что содержимое ключа MyCompany
должно быть перемещено, а не сам ключ. В этой команде опущены необязательные имена параметров пути
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Пример 6. Перемещение каталога и его содержимого в подкаталог указанного каталога
Эта команда перемещает каталог Logs[Sept`06]
(и его содержимое) в каталог Logs[2006]
.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
Параметр LiteralPath используется вместо пути, так как исходное имя каталога содержит символы левой скобки и правой скобки ([
и ]
). Путь также заключен в одинарные кавычки ('
), чтобы символ backtick (`
) не был неправильно интерпретирован.
Параметр назначения также должен быть заключен в одинарные кавычки, так как он включает скобки, которые могут быть неправильно интерпретированы.
Параметры
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | cf |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Credential
Замечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.
Свойства параметра
Тип: | PSCredential |
Default value: | Current user |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Destination
Указывает путь к расположению, в котором перемещаются элементы. По умолчанию используется текущий каталог. Подстановочные знаки не разрешены.
Чтобы переименовать перемещаемый элемент, укажите новое имя в значении параметра назначения
Свойства параметра
Тип: | String |
Default value: | Current directory |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | 1 |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Exclude
Указывает как строковый массив, элемент или элементы, которые этот командлет исключает в операции. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешено использование подстановочных символов. Параметр Исключить действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Filter
Указывает фильтр для квалификации параметра Path. Поставщик файловой системы является единственным установленным поставщиком PowerShell, который поддерживает использование фильтров. Синтаксис языка фильтрации файловой системы вы можете найти в about_Wildcards. Фильтры более эффективны, чем другие параметры, так как поставщик применяет их, когда командлет получает объекты, а не чтобы PowerShell фильтровал объекты после их получения.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Force
Принудительно выполняется команда без запроса подтверждения пользователя. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе о поставщиках.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Include
Указывает, как строковый массив, элемент или элементы, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Path. Введите элемент пути или шаблон, например *.txt
. Разрешено использование подстановочных символов. Параметр Include действует только в том случае, если команда включает содержимое элемента, например C:\Windows\*
, где подстановочный знак указывает содержимое каталога C:\Windows
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется именно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки ('
). Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Дополнительную информацию см. в разделе about_Quoting_Rules.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PSPath, LP |
Наборы параметров
LiteralPath
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект, представляющий перемещаемый элемент. По умолчанию этот командлет не создает выходные данные.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Path
Указывает путь к текущему расположению элементов. По умолчанию используется текущий каталог. Разрешено использование подстановочных символов.
Свойства параметра
Тип: | String[] |
Default value: | Current directory |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
Path
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | wi |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
PSObject
При использовании параметра PassThru этот командлет возвращает объект, представляющий перемещаемый элемент.
Примечания
PowerShell включает следующие псевдонимы для Move-Item
:
Все платформы:
mi
move
Виндоус:
mv
Этот командлет перемещает файлы между дисками, поддерживаемыми тем же поставщиком, но перемещает каталоги только в одном диске.
Так как команда
Move-Item
перемещает свойства, содержимое и дочерние элементы элемента, все перемещения по умолчанию рекурсивны.Этот командлет предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введите
Get-PSProvider
. Дополнительные сведения см. в разделе о поставщиках.