Move-Item
Move um item de um local para outro.
Syntax
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Move-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Move-Item
cmdlet move um item, incluindo suas propriedades, conteúdo e itens filho, de um local para outro local. 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
Esse comando move o Test.txt
arquivo da C:
unidade para o diretório e o E:\Temp
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 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 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 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 Get-ChildItem
cmdlet 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 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 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 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 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 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" para HKLM\Software
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[Setembro'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, 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 interpretado incorretamente.
O parâmetro Destination não requer um caminho literal, pois a variável Destination também deve ser colocada entre aspas simples, pois inclui colchetes que podem ser interpretados incorretamente.
Parâmetros
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Observação
Não há suporte para esse parâmetro em nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Destination
Especifica o caminho para o local onde os itens sã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 que está sendo movido, especifique um novo nome no valor do parâmetro Destination .
Type: | String |
Position: | 1 |
Default value: | Current directory |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Exclude
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet exclui na operação. O valor deste 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 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 C:\Windows
diretório.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Especifica, como uma matriz de cadeia de caracteres, um item ou itens que esse cmdlet inclui na operação. O valor deste 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 C:\Windows
diretório.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Para obter mais informações, consulte about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Retorna um objeto que representa o item com que você está trabalhando. Por padrão, este cmdlet não gera saída.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Especifica o caminho para o local atual dos itens. O padrão é o diretório atual. Caracteres curinga são permitidos.
Type: | String[] |
Position: | 0 |
Default value: | Current directory |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode redirecionar uma cadeia de caracteres que contém um caminho para esse 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, este cmdlet não gera nenhuma saída.
Observações
- Esse cmdlet moverá arquivos entre unidades compatíveis com o mesmo provedor, mas moverá diretórios apenas dentro da mesma unidade.
- Como um
Move-Item
comando 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 em sua sessão, digite
Get-PSProvider
. Para obter mais informações, consulte about_Providers.