Move-Item
Move um item de um local para outro.
Sintaxe
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Move-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
O cmdlet Move-Item
move um item, incluindo suas propriedades, conteúdo e itens filho, de um local para outro local.
Os locais devem ser compatíveis com o mesmo provedor.
Por exemplo, ele pode mover um arquivo ou subdiretório de um diretório para outro ou mover uma subchave do Registro de uma chave para outra.
Quando você move um item, ele é adicionado ao novo local e excluído de seu local original.
Exemplos
Exemplo 1: mover um arquivo para outro diretório e renomeá-lo
Esse comando move o arquivo "Test.txt" da unidade C:
para o diretório "E:\Temp" e o renomeia de "test.txt" para "tst.txt".
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Exemplo 2: mover um diretório e seu conteúdo para outro diretório
Esse comando move o diretório "C:\Temp" e seu conteúdo para o diretório "C:\Logs". O diretório "Temp" e todos os seus subdiretórios e arquivos aparecem no diretório "Logs".
Move-Item -Path C:\Temp -Destination C:\Logs
Exemplo 3: mover todos os arquivos de uma extensão especificada do diretório atual para outro diretório
Esse comando move todos os arquivos de texto ("*.txt") no diretório atual (representado por um ponto ('.')) para o diretório "C:\Logs".
Move-Item -Path .\*.txt -Destination C:\Logs
Exemplo 4: mover recursivamente todos os arquivos de uma extensão especificada do diretório atual para outro diretório
Esse comando move todos os arquivos de texto do diretório atual e todos os subdiretórios, recursivamente, para o diretório "C:\TextFiles".
O comando usa o cmdlet Get-ChildItem
para obter todos os itens filho no diretório atual (representado pelo ponto [.]) e seus subdiretórios que têm uma extensão de nome de arquivo ".txt". Ele usa o parâmetro Recurse para tornar a recuperação recursiva e o parâmetro Include para limitar a recuperação a arquivos de ".txt".
O operador de pipeline (|
) envia os resultados desse comando para Move-Item
, que move os arquivos de texto para o diretório "TextFiles".
Se os arquivos que devem ser movidos para "C:\Textfiles" tiverem o mesmo nome, Move-Item
exibirá um erro e continuará, mas moverá apenas um arquivo com cada nome para "C:\Textfiles".
Os outros arquivos permanecem em seus diretórios originais.
Se o diretório "Textfiles" (ou qualquer outro elemento do caminho de destino) não existir, o comando falhará.
O diretório ausente não é criado para você, mesmo se você usar o parâmetro Force.
Move-Item
move o primeiro item para um arquivo chamado "Textfiles" e exibe um erro explicando que o arquivo já existe.
Além disso, por padrão, Get-ChildItem
não move arquivos ocultos.
Para mover arquivos ocultos, use o parâmetro Force com Get-ChildItem
.
Observação: no Windows PowerShell 2.0, ao usar o parâmetro Recurse do cmdlet Get-ChildItem
, o valor do parâmetro Path deve ser um contêiner.
Use o parâmetro Incluir para especificar o filtro de extensão de nome de arquivo .txt (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
).
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Exemplo 5: mover chaves e valores do Registro para outra chave
Esse comando move as chaves e os valores do Registro dentro da chave do registro "MyCompany" em "HKLM\Software" para a chave "MyNewCompany". O caractere curinga ('*') indica que o conteúdo da chave "MyCompany" deve ser movido, não a própria chave. Nesse comando, os nomes de parâmetros Path e Destination opcionais são omitidos.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Exemplo 6: mover um diretório e seu conteúdo para um subdiretório do diretório especificado
Esse comando move o diretório "Logs[Setembro'06]" (e seu conteúdo) para o diretório "Logs[2006]".
O parâmetro LiteralPath é usado em vez de Path, porque o nome do diretório original inclui caracteres de colchete esquerdo e direito ("[" e "]"). O caminho também está entre aspas simples (' '), para que o símbolo de backtick (') não seja interpretado incorretamente.
O parâmetro de destino
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Credential
Nota
Esse parâmetro não tem suporte para nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.
Tipo: | PSCredential |
Cargo: | Named |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Destination
Especifica o caminho para o local onde os itens estão sendo movidos. O padrão é o diretório atual. Curingas são permitidos, mas o resultado deve especificar um único local.
Para renomear o item que está sendo movido, especifique um novo nome no valor do parâmetro de destino
Tipo: | String |
Cargo: | 1 |
Valor padrão: | Current directory |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | True |
-Exclude
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui da operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como "*.txt". Caracteres curinga são permitidos.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | True |
-Filter
Especifica um filtro no formato ou idioma do provedor. O valor desse parâmetro qualifica o parâmetro Path.
A sintaxe do filtro, incluindo o uso de caracteres curinga, depende do provedor. Os filtros são mais eficientes do que outros parâmetros, pois o provedor os aplica quando o cmdlet obtém os objetos em vez de ter o PowerShell filtrar os objetos depois que eles são recuperados.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | True |
-Force
Força o comando a ser executado sem solicitar a confirmação do usuário. A implementação varia de provedor para provedor. Para obter mais informações, consulte about_Providers.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Include
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet move na operação. O valor desse parâmetro qualifica o parâmetro Path. Insira um elemento ou padrão de caminho, como "*.txt". Caracteres curinga são permitidos.
Tipo: | String[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | True |
-LiteralPath
Especifica o caminho para o local atual dos itens. Ao contrário do parâmetro Path, o valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Tipo: | String[] |
Aliases: | PSPath |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-PassThru
Retorna um objeto que representa o item com o qual você está trabalhando. Por padrão, esse cmdlet não gera nenhuma saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Path
Especifica o caminho para o local atual dos itens. O padrão é o diretório atual. Caracteres curinga são permitidos.
Tipo: | String[] |
Cargo: | 0 |
Valor padrão: | Current directory |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | True |
-UseTransaction
Inclui o comando na transação ativa. Esse parâmetro só é válido quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.
Tipo: | SwitchParameter |
Aliases: | usetx |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar uma cadeia de caracteres que contém um caminho para este cmdlet.
Saídas
None or an object representing the moved item.
Quando você usa o parâmetro
Observações
Esse cmdlet moverá arquivos entre unidades compatíveis com o mesmo provedor, mas moverá diretórios apenas na mesma unidade.
Como um comando Move-Item
move as propriedades, o conteúdo e os itens filho de um item, todas as movimentações são recursivas por padrão.
Esse cmdlet foi projetado para funcionar com os dados expostos por qualquer provedor.
Para listar os provedores disponíveis na sessão, digite Get-PSProvider
.
Para obter mais informações, consulte about_Providers.