Move um item de um local para outro.
Sintaxe
Move-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Move-Item [-Path] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Descrição
O cmdlet Move-Item move um item, incluindo suas propriedades, conteúdo e itens filhos, de um local para outro. Os locais devem ter suporte do 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 do local original.
Parâmetros
-Credential <PSCredential>
Especifica uma conta de usuário com permissão para executar essa ação. O padrão é o usuário atual.
Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential, como aquele gerado pelo cmdlet Get-Credential. Uma senha será solicitada após a digitação do nome do usuário.
Este parâmetro não tem suporte em nenhum dos provedores instalados com o Windows PowerShell.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Destination <string>
Especifica o caminho para o local para onde os itens serão movidos. O padrão é o diretório atual. Caracteres curinga são permitidos, mas o resultado deve especificar um único local.
Para renomear o item a ser movido, especifique um novo nome no valor do parâmetro Destination.
Necessário? |
false |
Posição? |
2 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Exclude <string[]>
Omite os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Filter <string>
Especifica um filtro no formato ou no idioma do provedor. O valor desse parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso dos caracteres curinga, depende do provedor. Os filtros são mais eficientes do que outros parâmetros porque o provedor os aplica durante a recuperação dos objetos, em vez de fazer com que o Windows PowerShell os filtre depois de recuperados.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Force
Permite que o cmdlet mova um item que substitui um item somente leitura existente. A implementação varia de provedor para provedor. Para obter mais informações, consulte about_Providers. Mesmo usando o parâmetro Force, o cmdlet não pode substituir as restrições de segurança.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Include <string[]>
Move somente os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-LiteralPath <string[]>
Especifica o caminho até o local atual dos itens. Ao contrário de Path, o valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere será interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-os entre aspas simples. As aspas simples dizem ao Windows PowerShell para não interpretar quaisquer caracteres que tenham sequências de escape.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-PassThru
Passa um objeto que representa o item para o pipeline. Por padrão, este cmdlet não gera nenhuma saída.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Path <string[]>
Especifica o caminho até o local atual dos itens. O padrão é o diretório atual. Os caracteres curinga são permitidos.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Confirm
Solicita confirmação antes da execução do comando.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-WhatIf
Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-UseTransaction
Inclui o comando na transação ativa. Este parâmetro é válido apenas quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.String Você pode enviar uma cadeia de caracteres que contém um caminho para Move-Item. |
Saídas |
None ou um objeto que representa o item movido. Quando você usa o parâmetro Passthru, Move-Item gera um objeto que representa o item movido. Caso contrário, esse cmdlet não gera nenhuma saída. |
Observações
Move-Item move arquivos entre unidades com suporte do mesmo provedor, mas só moverá os diretórios que estiverem na mesma unidade.
Como o comando Move-Item move as propriedades, o conteúdo e os itens filhos de um item, todas as mudanças serão recursivas por padrão.
Você também pode fazer referência a Move-Item usando seu aliases internos, "move", "mv" e "mi". Para obter mais informações, consulte about_Aliases.
O cmdlet Move-Item foi desenvolvido para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite "Get-PsProvider". Para obter mais informações, consulte about_Providers.
Exemplo 1
C:\PS>move-item -path C:\test.txt -destination E:\Temp\tst.txt Descrição ----------- 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".
Exemplo 2
C:\PS>move-item -path C:\Temp -destination C:\Logs Descrição ----------- Esse comando move o diretório C:\Temp e o seu conteúdo para o diretório C:\Logs. Em seguida, o diretório Temp, e todos os seus subdiretórios e arquivos, aparece no diretório Logs.
Exemplo 3
C:\PS>move-item -path .\*.txt -destination C:\Logs Descrição ----------- Esse comando move todos os arquivos de texto (*.txt) do diretório atual (representado por um ponto (.)) para o diretório C:\Logs.
Exemplo 4
C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles Descrição ----------- Esse comando move todos os arquivos de texto do diretório atual e, recursivamente, todos os subdiretórios, 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 em seus subdiretórios que tenham 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 restringir a recuperação aos arquivos *.txt. O operador de pipeline (|) envia os resultados desse comando para Move-Item, que move os arquivos de texto para o diretório TextFiles. Caso os arquivos movidos para C:\TextFiles tenham o mesmo nome, Move-Item exibirá um erro e continuará, mas moverá somente um arquivo com cada nome para C:\TextFiles. Os outros arquivos permanecerão em seus diretórios originais. Se o diretório Textfiles (ou qualquer outro elemento do caminho de destino) não existir, o comando resultará em falha. O diretório ausente não é criado para você, mesmo que o parâmetro Force seja usado. 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 os arquivos ocultos. Para mover os arquivos ocultos, use o parâmetro Force com Get-ChildItem.
Exemplo 5
C:\PS>move-item hklm:\software\mycompany\* hklm:\software\mynewcompany Descrição ----------- Esse comando move todas as chaves de Registro e seus valores da chave MyCompany de HKLM\Software para a chave MyNewCompany. O caractere curinga (*) indica que é o conteúdo da chave MyCompany que deve ser movido, e não a própria chave. Nesse comando, os nomes dos parâmetros opcionais Path e Destination são omitidos.
Exemplo 6
C:\PS>move-item -literalpath 'Logs[Sept`06]' -destination 'Logs[2006]' Descrição ----------- Esse comando move o diretório Logs[Sept`06] (e o 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 o caracteres de colchete esquerdo e colchete direito ("[" e "]"). O caminho também está entre aspas simples (' ') para que o símbolo de crase (`) não seja mal-interpretado. O parâmetro Destination não exibe um caminho literal porque a variável Destination também deve ser escrita entre aspas simples, já que inclui colchetes que podem ser mal-interpretados.
See Also