Partilhar via


Move-Item

Move um item de um local para outro.

Sintaxe

Path (Predefinição)

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

LiteralPath

Move-Item
    [[-Destination] <String>]
    -LiteralPath <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. Os locais devem ser suportados pelo 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.

Exemplos

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

Este 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

Este 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, em seguida, 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

Este 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

Este 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 ".txt".

O operador de pipeline (|) envia os resultados deste 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, 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 cmdlet , o valor do parâmetro Path da deve ser um contêiner. Use o parâmetro Include 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

Este comando move as chaves e 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. Neste comando, os nomes opcionais dos parâmetros Path e Destination 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 diretório "Logs[Sept'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 entre colchetes esquerdo e direito ("[" e "]"). O caminho também é colocado entre aspas simples (' '), para que o símbolo de backtick (') não seja mal interpretado.

O parâmetro Destination não requer um caminho literal, porque a variável Destination também deve ser colocada entre aspas simples, pois inclui colchetes que podem ser mal interpretados.

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

Parâmetros

-Confirm

Solicita confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Observação

Esse parâmetro não é suportado por nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:Current user
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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 Destination.

Propriedades dos parâmetros

Tipo:String
Default value:Current directory
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Exclude

Especifica, como uma matriz de cadeia de caracteres, um item ou itens que este 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 coringa são permitidos.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

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

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Force

Força o comando a ser executado sem pedir a confirmação do usuário. A implementação varia de fornecedor para fornecedor. Para obter mais informações, consulte about_Providers.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 coringa são permitidos.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-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 carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSPath

Conjuntos de parâmetros

LiteralPath
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

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

Propriedades dos parâmetros

Tipo:

String[]

Default value:Current directory
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

Path
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Usetx

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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

Você pode encaminhar uma cadeia de caracteres que contenha um caminho para este cmdlet.

Saídas

None or an object representing the moved item.

Quando você usa o parâmetro PassThru, esse cmdlet gera um objeto que representa o item movido. Caso contrário, esse cmdlet não gerará nenhuma saída.

Notas

Esse cmdlet moverá arquivos entre unidades suportadas pelo mesmo provedor, mas moverá diretórios somente dentro da 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.

Este cmdlet foi projetado para trabalhar 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.