Move-Item

gru 18, 2021
Moduł: Microsoft.PowerShell.Management

Przenosi element z jednej lokalizacji do innej.

Syntaktyka

Opis

Centdlet Move-Item przenosi element, w tym jego właściwości, zawartość i elementy potomne, z jednej lokalizacji do innej. Lokalizacje muszą być obsługiwane przez tego samego dostawcę.Na przykład można przenieść plik lub podkatalog z jednego katalogu do drugiego lub przenieść podklucz rejestru z jednego klucza do innego.Podczas przenoszenia elementu jest on dodawany do nowej lokalizacji i usuwany z pierwotnej lokalizacji.

Przykłady

Przykład 1: Przenieś plik do innego katalogu i zmień jego nazwę

To polecenie przenosi plik Test.txt z dysku C: do katalogu E:\Temp i zmienia jego nazwę z test.txt na tst.txt.

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

Przykład 2: Przenoszenie katalogu i jego zawartości do innego katalogu

To polecenie przenosi katalog C:\Temp i jego zawartość do katalogu C:\Logs.Katalog „Temp” oraz wszystkie jego podkatalogi i pliki pojawiają się następnie w katalogu „Logs”.

Move-Item -Path C:\Temp -Destination C:\Logs

Przykład 3: Przenieś wszystkie pliki o określonym rozszerzeniu z bieżącego katalogu do innego katalogu

To polecenie przenosi wszystkie pliki tekstowe (*.txt) znajdujące się w bieżącym katalogu (reprezentowanym przez kropkę(.)) do katalogu C:\Logs.

Move-Item -Path .\*.txt -Destination C:\Logs

Przykład 4: Rekursywne przenoszenie wszystkich plików o określonym rozszerzeniu z bieżącego katalogu do innego katalogu

To polecenie przenosi wszystkie pliki tekstowe z bieżącego katalogu i wszystkich podkatalogów, rekurencyjnie, do katalogu „C:TextFiles”.

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

Polecenie wykorzystuje cmdlet Get-ChildItem do uzyskania wszystkich elementów podrzędnych w bieżącym katalogu (reprezentowanych przez kropkę) i jego podkatalogach, które mają rozszerzenie nazwy pliku „.txt”.Używa parametru Recurse, aby pobierać rekurencyjnie, oraz parametru Include, aby ograniczyć pobieranie do plików „.txt”.

Operator potoku (|) wysyła wyniki tego polecenia do Move-Item, który przenosi pliki tekstowe do katalogu „TextFiles”.

Jeśli pliki, które mają być przeniesione do katalogu „C:\Textfiles”, mają tę samą nazwę, Move-Item wyświetla błąd i kontynuuje, ale przenosi tylko jeden plik o każdej nazwie do katalogu „C:\Textfiles”. Pozostałe pliki pozostają w swoich oryginalnych katalogach.

Jeśli katalog „Textfiles” (lub jakikolwiek inny element ścieżki docelowej) nie istnieje, polecenie kończy się niepowodzeniem. Brakujący katalog nie jest tworzony dla użytkownika, nawet jeśli użyto parametru Force.Move-Item przenosi pierwszy element do pliku o nazwie „Textfiles”, a następnie wyświetla błąd wyjaśniający, że plik ten już istnieje.

Domyślnie Get-ChildItem nie przenosi również plików ukrytych.Aby przenieść pliki ukryte, należy użyć parametru Force z Get-ChildItem.

Uwaga

W Windows PowerShell 2.0, podczas używania parametru Recurse polecenia Get-ChildItem cmdlet, wartość parametru Path musi być kontenerem.Użyj parametru Include, aby określić filtr rozszerzenia nazwy pliku .txt(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

Przykład 5: Przenoszenie kluczy rejestru i wartości do innego klucza

To polecenie przenosi klucze rejestru i wartości wewnątrz klucza rejestru „MojaFirma” wHKLM\Software do klucza „MojaNowaFirma”.Znak wieloznaczny (*) wskazuje, że należy przenieść zawartość klucza „MojaFirma”, a nie sam klucz. W tym poleceniu pominięto opcjonalne nazwy parametrów Ścieżka i Miejsce docelowe.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

Przykład 6: Przenieś katalog i jego zawartość do podkatalogu określonego katalogu

To polecenie przenosi katalog „Logs” (i jego zawartość) do katalogu „Logs”.

Move-Item -LiteralPath 'Logs' -Destination 'Logs'

Parametr LiteralPath jest używany zamiast Path, ponieważ oryginalna nazwa katalogu zawiera znaki lewego i prawego nawiasu („”).Ścieżka jest również ujęta w pojedyncze cudzysłowy (’ ’), aby symbol backtick (`) nie został źle zinterpretowany.

Parametr Destination nie wymaga dosłownej ścieżki, ponieważ zmienna Destination również musi być ujęta w pojedyncze cudzysłowy, ponieważ zawiera nawiasy, które mogą zostać źle zinterpretowane.

Parameters

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Type: SwitchParameter
Aliases: cf
Position: Named
Wartość domyślna: False
Accept pipeline input: False
Accept wildcard characters: False
-Credential

Uwaga

Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych z PowerShell.Aby podszyć się pod innego użytkownika lub podnieść swoje poświadczenia podczas uruchamiania tego cmdleta, użyj Invoke-Command.

Type: PSCredential
Position: Named
Default value: Current user
Accept pipeline input: True
Accept wildcard characters: False

-Destination

Określa ścieżkę do lokalizacji, do której przenoszone są elementy.Domyślnie jest to bieżący katalog.Dozwolone są symbole wieloznaczne, ale wynik musi określać pojedynczą lokalizację.

Aby zmienić nazwę przenoszonego elementu, określ nową nazwę w wartości parametru Miejsce docelowe.

Type: String
Position: 1
Wartość domyślna: Obecny katalog
Przyjmij dane wejściowe rurociągu: True
Accept wildcard characters: True
-Exclude

Określa, jako tablicę łańcuchów, element lub elementy, które ten cmdlet wyklucza w operacji. Wartość tego parametru kwalifikuje parametr Ścieżka. Wprowadź element ścieżki lub wzorzec, taki jak*.txt. Dozwolone są znaki wieloznaczne. Parametr Exclude działa tylko wtedy, gdy polecenie obejmuje zawartość elementu, takiego jak C:\Windows\*, gdzie znak wieloznaczny określa zawartość katalogu C:\Windows.

Type: String
Position: Named
Wartość domyślna: None
Accept pipeline input: False
Accept wildcard characters: True
-Filter

Określa filtr kwalifikujący parametr Path. Dostawca FileSystemprovider jest jedynym zainstalowanym dostawcą PowerShell, który obsługuje użycie filtrów. Składnię języka filtrów FileSystem można znaleźć w about_Wildcards.Filtry są bardziej wydajne niż inne parametry, ponieważ dostawca stosuje je, gdy cmdletgets obiekty, zamiast mieć PowerShell filtrowania obiektów po ich pobraniu.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: True
-Force

Wymusza uruchomienie polecenia bez pytania o potwierdzenie przez użytkownika.Implementacja różni się w zależności od dostawcy.Więcej informacji można znaleźć w about_Providers.

Typ: SwitchParameter
Pozycja: Nazwa
Domyślna wartość: False
Akceptuj dane wejściowe rurociągu: False
Accept wildcard characters: False
-Include

Określa, jako tablicę łańcuchów, element lub elementy, które ten cmdlet uwzględnia w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzór, taki jak"*.txt". Dozwolone są znaki wieloznaczne. Parametr Include działa tylko wtedy, gdy polecenie obejmuje zawartość elementu, takiego jak C:\Windows\*, gdzie znak wieloznaczny określa zawartość katalogu C:\Windows.

Type: String
Position: Named
Wartość domyślna: None
Accept pipeline input: False
Accept wildcard characters: True
-LiteralPath

Określa ścieżkę do jednej lub więcej lokalizacji. Wartość LiteralPath jest używana dokładnie w takiej postaci, w jakiej została wpisana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedyncze cudzysłowy. Pojedynczy cudzysłów mówi PowerShellowi, aby nie interpretował żadnych znaków jako sekwencji ucieczki.

Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.

Typ: String
Aliasy: PSPath, LP
Pozycja: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-PassThru

Zwraca obiekt reprezentujący element, z którym pracujesz.Domyślnie ten cmdlet nie generuje żadnych danych wyjściowych.

Type: SwitchParameter
Position: Named
Domyślna wartość: False
Accept pipeline input: False
Accept wildcard characters: False
-Path

Określa ścieżkę do bieżącej lokalizacji elementów.Domyślnie jest to bieżący katalog.Dozwolone są znaki wieloznaczne.

Type: String
Position: 0
Wartość domyślna: Katalog bieżący
Accept pipeline input: True
Accept wildcard characters: True
-WhatIf

Pokazuje, co by się stało, gdyby cmdlet został uruchomiony.Polecenie nie jest uruchamiane.

Typ: SwitchParameter
Alias: wi
Pozycja: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

Inputs

String

Możesz potokować ciąg znaków zawierający ścieżkę do tego cmdleta.

Outputs

None lub obiekt reprezentujący przeniesiony element

Gdy używasz parametru PassThru, ten cmdlet generuje obiekt reprezentujący przeniesiony element.W przeciwnym razie ten cmdlet nie generuje żadnych danych wyjściowych.

Notatki

  • Ten cmdlet przeniesie pliki między dyskami obsługiwanymi przez tego samego dostawcę, ale przeniesie katalogi tylko w obrębie tego samego dysku.
  • Ponieważ polecenie Move-Item przenosi właściwości, zawartość i elementy potomne elementu, wszystkie przeniesienia są domyślnie rekurencyjne.
  • Ten cmdlet został zaprojektowany do pracy z danymi udostępnianymi przez dowolnego dostawcę.Aby wyświetlić listę dostawców dostępnych w twojej sesji, wpisz Get-PSProvider.Aby uzyskać więcej informacji, zobacz about_Providers.
  • Clear-Item
  • Copy-Item
  • Get-Item
  • Invoke-Item
  • New-Item
  • Remove-Item
  • Rename-Item
  • Set-Item
  • about_Providers

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.