Rename-Item
Переименовывает элемент в пространстве имен поставщика PowerShell.
Синтаксис
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <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
для переименования и перемещения элемента. В частности, нельзя указать путь для значения параметра
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. Переименование раздела реестра
В этом примере раздел реестра переименовывается из Рекламы в Marketing. По завершении команды ключ переименован, но записи реестра в разделе не изменяются.
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
Запрашивает подтверждение перед запуском командлета.
Тип: | 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 |
-Force
Позволяет командлету переименовать элементы, которые не могут быть изменены, например скрытые или доступные только для чтения файлы или псевдонимы только для чтения или переменные. Командлет не может изменять псевдонимы констант или переменные. Реализация зависит от поставщика к поставщику. Дополнительные сведения см. в разделе about_Providers.
Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так же, как оно введите. Символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Дополнительные сведения см. в about_Quoting_Rules.
Тип: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-NewName
Задает новое имя элемента. Введите только имя, а не путь и имя. Если ввести путь, который отличается от пути, указанного в параметре пути Move-Item
.
Не удается использовать подстановочные знаки в значении параметра NewName. Чтобы указать имя для нескольких файлов, используйте оператор Replace в регулярном выражении. Дополнительные сведения об операторе Replace см. в about_Comparison_Operators.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PassThru
Возвращает объект, представляющий элемент конвейера. По умолчанию этот командлет не создает выходные данные.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Path
Указывает путь к элементу для переименования.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Можно передать строку, содержащую путь к этому командлету.
Выходные данные
None or an object that represents the renamed item.
Этот командлет создает объект, представляющий переименованный элемент, если указать параметр PassThru. В противном случае этот командлет не создает выходные данные.
Примечания
Rename-Item
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PsProvider
. Дополнительные сведения см. в разделе about_Providers.