Compartilhar via


Move-Item

Move um item de um local para outro.

Sintaxe

Path (Padrão)

Move-Item
    [-Path] <String[]>
    [[-Destination] <String>]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath

Move-Item
    [[-Destination] <String>]
    -LiteralPath <String[]>
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "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á. A pasta não é criada para você, mesmo se 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).

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 chave em si. 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[Sept`06] (e seu conteúdo) para o diretório Logs[2006].

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination '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 ('), de modo que o símbolo de acento grave (`) não seja interpretado incorretamente.

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

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Credential

Observação

Esse parâmetro não tem suporte para nenhum provedor instalado com o PowerShell. Para executar este cmdlet em nome de outro usuário ou elevar suas credenciais, use Invoke-Command.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:Current user
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Destination

Especifica o caminho para o local onde os itens estão sendo movidos. O padrão é o diretório atual. Não são permitidos caracteres.

Para renomear o item que está sendo movido, especifique um novo nome no valor do parâmetro de destino .

Propriedades do parâmetro

Tipo:String
Valor padrão:Current directory
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-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 Excluir só é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-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 filtragem FileSystem no 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 ter o PowerShell filtrar os objetos depois que eles são recuperados.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 só é eficaz quando o comando inclui o conteúdo de um item, como C:\Windows\*, em que o caractere curinga especifica o conteúdo do diretório C:\Windows.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LiteralPath

Especifica um caminho para um ou mais locais. 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 ('). Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Para mais informações, consulte sobre_Regras_de_Citação.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath, LP

Conjuntos de parâmetros

LiteralPath
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-PassThru

Retorna um objeto que representa o item movido. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Especifica o caminho para o local atual dos itens. O padrão é o diretório atual. Caracteres curinga são permitidos.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:Current directory
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

Path
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

É possível direcionar uma cadeia de caracteres que contém um caminho para este 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 PowerShell inclui os seguintes aliases para Move-Item:

  • Todas as plataformas:

    • mi
    • move
  • Windows:

    • mv
  • 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.