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
переименования и перемещения элемента. В частности, нельзя указать путь для значения параметра NewName , если путь не идентичен пути, указанному в параметре Path . В противном случае допускается только новое имя.
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. Переименование раздела реестра
В этом примере раздел реестра переименовывается с Advertising на 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
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Примечание
Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить уровень учетных данных при выполнении этого командлета, используйте Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Заставляет командлет переименовывать элементы, которые невозможно изменить иначе, например скрытые или доступные только для чтения файлы, псевдонимы или переменные только для чтения. Командлет не может изменять псевдонимы или переменные констант. Применение этого параметра зависит от конкретного поставщика. Дополнительные сведения см. в разделе about_Providers.
Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Указывает путь к одному или нескольким расположениям. Значение LiteralPath используется точно так же, как оно введено. Никакие символы не интерпретируются как знаки подстановки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки предписывают PowerShell не интерпретировать какие-либо символы как escape-последовательности.
Дополнительные сведения см. в разделе about_Quoting_Rules.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NewName
Задает новое имя элемента. Введите только имя без пути. Если ввести путь, отличный от пути, указанного в параметре Path , Rename-Item
возникает ошибка.
Чтобы переименовать и переместить элемент, используйте .Move-Item
Вы не можете использовать подстановочные знаки в значении параметра NewName . Чтобы указать имя для нескольких файлов, используйте оператор Replace в регулярном выражении. Дополнительные сведения об операторе Replace см. в разделе about_Comparison_Operators.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Возвращает объект , представляющий элемент для конвейера. По умолчанию этот командлет не создает выходные данные.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к переименованию элемента.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
В этот командлет можно передать по конвейеру строку, содержащую путь.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра PassThru этот командлет возвращает объект, представляющий переименованный элемент.
Примечания
PowerShell включает следующие псевдонимы для Rename-Item
:
- Для всех платформ.
ren
rni
Rename-Item
предназначен для работы с данными, предоставляемыми любым поставщиком. Чтобы вывести список поставщиков, доступных в данном сеансе, введите командлет Get-PsProvider
. Дополнительные сведения см. в разделе about_Providers.