Rename-Item
Переименовывает элемент в пространстве имен поставщика PowerShell.
Синтаксис
ByPath (по умолчанию)
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Rename-Item
[-NewName] <String>
-LiteralPath <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Rename-Item
изменяет имя указанного элемента. Этот командлет не влияет на содержимое переименоваемого элемента.
Невозможно использовать Rename-Item
для перемещения элемента, например путем указания пути вместе с новым именем. Чтобы переместить и переименовать элемент, используйте командлет Move-Item
.
Примеры
Пример 1. Переименование файла
Эта команда переименовывает файл daily_file.txt
в monday_file.txt
.
Rename-Item -Path "C:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Пример 2. Переименование и перемещение элемента
Нельзя использовать Rename-Item
для переименования и перемещения элемента. В частности, нельзя указать путь для значения параметра NewName, если путь не идентичен пути, указанному в параметре пути. В противном случае разрешено только новое имя.
Rename-Item -Path "project.txt" -NewName "D:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -Path project.txt -NewName D:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "D:\archive\old-project.txt"
В этом примере выполняется попытка переименовать файл project.txt
в текущем каталоге в old-project.txt
в каталоге D:\Archive
. Результатом является ошибка, показанная в выходных данных.
Вместо этого используйте командлет Move-Item
.
Пример 3: Переименование раздела реестра
В этом примере раздел реестра переименовывается из Рекламы в Маркетинг. По завершении команды ключ переименовывается, но записи реестра в ключе остаются без изменений.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Пример 4. Переименование нескольких файлов
В этом примере все файлы *.txt
в текущем каталоге переименовывается в *.log
.
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
Командлет Get-ChildItem
находит все файлы в текущей папке с расширением файла .txt
, а затем отправляет их в Rename-Item
. Значение NewName — это блок скрипта, который выполняется перед отправкой значения в параметр NewName.
В блоке скрипта $_
автоматическая переменная представляет каждый файловый объект по мере выполнения команды через конвейер. Блок скрипта использует оператор -replace
для замены расширения каждого файла на .log
. Обратите внимание, что сопоставление с использованием оператора -replace
не учитывает регистр.
Параметры
-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 |
-Force
Позволяет командлету переименовать элементы, которые не могут быть изменены, например скрытые или доступные только для чтения файлы или псевдонимы только для чтения или переменные. Командлет не может изменять псевдонимы констант или переменные. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе о поставщиках.
Даже при использовании параметра Force командлет не может обойти ограничения безопасности.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
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 |
Наборы параметров
ByLiteralPath
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-NewName
Задает новое имя элемента. Введите только имя, а не путь и имя. Если ввести путь, который отличается от пути, указанного в параметре пути, Rename-Item
создает ошибку.
Чтобы переименовать и переместить элемент, используйте Move-Item
.
Не удается использовать подстановочные знаки в значении параметра NewName. Чтобы указать имя для нескольких файлов, используйте оператор -replace
в регулярном выражении. Дополнительные сведения о операторе -replace
см. в about_Comparison_Operators.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | 1 |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-PassThru
Возвращает объект, представляющий элемент в конвейер. По умолчанию этот командлет не создает выходные данные.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Path
Указывает путь к элементу для переименования.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
ByPath
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 включает следующие псевдонимы для Rename-Item
:
- Все платформы:
ren
rni
Rename-Item
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider
. Дополнительные сведения см. в разделе о поставщиках.