Compartilhar via


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 Move-Item cmdlet move um item, incluindo suas propriedades, conteúdo e itens filho, de um local para outro. Os locais devem ter suporte no mesmo provedor.

Por exemplo, ele pode mover um arquivo ou um 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 seu local original.

Exemplos

Exemplo 1: Mover um arquivo para outro diretório e renomeá-lo

Este comando move o Test.txt C: arquivo da unidade para o E:\Temp diretório 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 C:\Temp diretório e seu conteúdo para o C:\Logs diretório. O Temp diretório e todos os seus subdiretórios e arquivos aparecem no Logs diretório.

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

Este comando move todos os arquivos de texto (*.txt) no diretório atual (representado por um ponto (.)) para o C:\Logs diretório.

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 de todos os subdiretórios, recursivamente, para o C:\TextFiles diretório.

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

O comando usa o Get-ChildItem cmdlet para obter todos os itens filho no diretório atual (representados pelo ponto (.)) e seus subdiretórios que têm uma *.txt extensão de nome de arquivo. Ele usa o parâmetro Recurse para tornar a recuperação recursiva e o parâmetro Include para limitar a recuperação a *.txt arquivos.

O operador de pipeline (|) envia os resultados desse comando para Move-Item, que move os arquivos de texto para o TextFiles diretório.

Se os arquivos que devem ser movidos tiverem C:\Textfiles o mesmo nome, Move-Item o exibe um erro e continua, mas move apenas um arquivo com cada nome para C:\Textfiles. Os outros arquivos permanecerão em seus diretórios originais.

Se o Textfiles diretório (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, em seguida, 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 Get-ChildItem cmdlet, o valor do parâmetro Path deve ser um contêiner. Use o parâmetro Include para especificar o filtro de extensão de nome de *.txt arquivo (Get-ChildItem -Path .\* -Include *.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 MyCompany chave do Registro para HKLM\Software a MyNewCompany chave. O caractere curinga (*) indica que o MyCompany conteúdo da chave deve ser movido, não a chave em si. Nesse comando, os nomes de parâmetro opcionais Caminho e Destino 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

Este comando move o Logs[Sept`06] diretório (e seu conteúdo) para o Logs[2006] diretório.

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

O parâmetro LiteralPath é usado em vez de Path, pois o nome do diretório original inclui caracteres de colchete esquerdo e colchete direito ([ e ]). O caminho também é colocado entre aspas simples ('), para que o símbolo de acento grave (`) não seja mal interpretado.

O parâmetro Destination também deve ser colocado entre aspas simples porque inclui colchetes que podem ser mal interpretados.

Parâmetros

-Confirm

Solicita sua 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

Observação

Esse parâmetro não tem suporte de 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:True

-Destination

Especifica o caminho para o local onde os itens são movidos. O padrão é o diretório atual. Curingas são permitidos, mas o resultado deve ser resolvido em um único local.

Para renomear o item que está sendo movido, especifique um novo nome no valor do parâmetro 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 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. O parâmetro Exclude é efetivo somente quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do C:\Windows diretório.

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 para qualificar o parâmetro Path . O provedor FileSystem é o único provedor do PowerShell instalado que dá suporte ao uso de filtros. Você pode encontrar a sintaxe da linguagem de filtro FileSystem em about_Wildcards. 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 fazer com que o PowerShell filtre 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 inclui 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. O parâmetro Include é efetivo somente quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do C:\Windows diretório.

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. O valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples ('). As aspas simples informam ao PowerShell para não interpretar nenhum caractere como sequências de escape.

Para obter mais informações, consulte about_Quoting_Rules.

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 movido. Por padrão, este cmdlet não gera 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. Este parâmetro é válido somente 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

String

Você pode canalizar uma cadeia de caracteres que contém um caminho para esse cmdlet.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

PSObject

Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto que representa o item movido.

Observações

O Windows PowerShell inclui os seguintes aliases para Move-Item:

  • mi

  • move

  • mv

  • Esse cmdlet moverá arquivos entre unidades com suporte do mesmo provedor, mas moverá diretórios somente dentro da mesma unidade.

  • Como um Move-Item comando move as propriedades, o conteúdo e os itens filho de um item, todos os movimentos são recursivos por padrão.

  • Esse cmdlet foi projetado 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.