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