Move-Item
Przenosi element z jednej lokalizacji do innej.
Składnia
Path (domyślnie)
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>]
Opis
Polecenie cmdlet Move-Item przenosi element, w tym jego właściwości, zawartość i elementy podrzędne, z jednej lokalizacji do innej lokalizacji.
Lokalizacje muszą być obsługiwane przez tego samego dostawcę.
Może na przykład przenieść plik lub podkatalog z jednego katalogu do innego lub przenieść podklucz rejestru z jednego klucza do innego.
Po przeniesieniu elementu zostanie on dodany do nowej lokalizacji i usunięty z oryginalnej lokalizacji.
Przykłady
Przykład 1. Przenoszenie pliku do innego katalogu i zmienianie jego nazwy
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" i wszystkie jego podkatalogi i pliki, a następnie są wyświetlane w katalogu "Logs".
Move-Item -Path C:\Temp -Destination C:\Logs
Przykład 3. Przeniesienie wszystkich plików określonego rozszerzenia z bieżącego katalogu do innego katalogu
To polecenie przenosi wszystkie pliki tekstowe ("*.txt") w bieżącym katalogu (reprezentowane przez kropkę ('.')) do katalogu "C:\Logs".
Move-Item -Path .\*.txt -Destination C:\Logs
Przykład 4. Rekursywnie przenieś wszystkie pliki określonego rozszerzenia z bieżącego katalogu do innego katalogu
To polecenie przenosi wszystkie pliki tekstowe z bieżącego katalogu i wszystkich podkatalogów, rekursywnie, do katalogu "C:\TextFiles".
Polecenie używa polecenia cmdlet Get-ChildItem, aby pobrać wszystkie elementy podrzędne w bieżącym katalogu (reprezentowane przez kropkę [.]) i jego podkatalogi z rozszerzeniem ".txt" nazwy pliku. Używa parametru Recurse, aby rekursywne pobieranie i parametr Include ograniczyć pobieranie do ".txt" plików.
Operator potoku (|) wysyła wyniki tego polecenia do Move-Item, który przenosi pliki tekstowe do katalogu "TextFiles".
Jeśli pliki, które mają zostać przeniesione do "C:\Textfiles" mają taką samą nazwę, Move-Item wyświetla błąd i kontynuuje, ale przenosi tylko jeden plik o każdej nazwie do "C:\Textfiles".
Pozostałe pliki pozostają w ich oryginalnych katalogach.
Jeśli katalog "Textfiles" (lub jakikolwiek inny element ścieżki docelowej) nie istnieje, polecenie zakończy się niepowodzeniem.
Brak katalogu nie jest tworzony, nawet jeśli używasz parametru Force.
Move-Item przenosi pierwszy element do pliku o nazwie "Textfiles", a następnie wyświetla błąd wyjaśniający, że plik już istnieje.
Ponadto domyślnie Get-ChildItem nie przenosi ukrytych plików.
Aby przenieść ukryte pliki, użyj parametru Force z Get-ChildItem.
Uwaga: w programie Windows PowerShell 2.0 podczas korzystania z parametru Recurse polecenia cmdlet Get-ChildItem 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).
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Przykład 5. Przenoszenie kluczy i wartości rejestru do innego klucza
To polecenie przenosi klucze rejestru i wartości w kluczu rejestru "MyCompany" w kluczu "HKLM\Software" do klucza "MyNewCompany". Symbol wieloznaczny ('*') wskazuje, że zawartość klucza "MyCompany" powinna zostać przeniesiona, a nie sam klucz. W tym poleceniu pominięto opcjonalne nazwy parametrów Path i Destination.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Przykład 6: Przenoszenie katalogu i jego zawartości do podkatalogu określonego katalogu
To polecenie przenosi katalog "Logs[06 września]" (i jego zawartość) do katalogu "Logs[2006]".
Parametr LiteralPath jest używany zamiast path, ponieważ oryginalna nazwa katalogu zawiera lewy nawias kwadratowy i znaki prawego nawiasu ("[" i "]"). Ścieżka jest również ujęta w znaki pojedynczego cudzysłowu (), dzięki czemu symbol backtick (') nie jest błędnie interpretowany.
Parametr Destination nie wymaga ścieżki literału, ponieważ zmienna docelowa musi być również ujęta w pojedynczy cudzysłów, ponieważ zawiera nawiasy, które mogą być błędnie interpretowane.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
Parametry
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Credential
Uwaga / Notatka
Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby podszyć się pod innego użytkownika lub podnieść swoje uprawnienia podczas uruchamiania tego cmdletu, użyj Invoke-Command.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | Current user |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Destination
Określa ścieżkę do lokalizacji, w której są przenoszone elementy. Wartość domyślna to bieżący katalog. Dozwolone są symbole wieloznaczne, ale wynik musi określać jedną lokalizację.
Aby zmienić nazwę przenoszonego elementu, określ nową nazwę w wartości parametru Destination.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | Current directory |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 1 |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-Exclude
Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet wyklucza z operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Symbole wieloznaczne są dozwolone.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Filter
Określa filtr w formacie lub języku dostawcy. Wartość tego parametru kwalifikuje parametr Path.
Składnia filtru, w tym użycie symboli wieloznacznych, zależy od dostawcy. Filtry są wydajniejsze niż inne parametry, ponieważ dostawca stosuje je, gdy polecenie cmdlet pobiera obiekty zamiast filtrować obiekty po ich pobraniu.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Force
Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika. Implementacja różni się od dostawcy do dostawcy. Aby uzyskać więcej informacji, zobacz about_Providers.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Include
Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet przenosi w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Symbole wieloznaczne są dozwolone.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-LiteralPath
Określa ścieżkę do bieżącej lokalizacji elementów. W przeciwieństwie do parametru Path wartość LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | PSPath |
Zestawy parametrów
LiteralPath
| Position: | Named |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-PassThru
Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określa ścieżkę do bieżącej lokalizacji elementów. Wartość domyślna to bieżący katalog. Symbole wieloznaczne są dozwolone.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | Current directory |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
Path
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | usetx |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
String
Możesz przekierować ciąg zawierający ścieżkę do tego cmdletu.
Dane wyjściowe
None or an object representing the moved item.
Jeśli używasz parametru PassThru, to polecenie cmdlet generuje obiekt reprezentujący przeniesiony element. W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Uwagi
To polecenie cmdlet przeniesie pliki między dyskami obsługiwanymi przez tego samego dostawcę, ale przeniesie katalogi tylko na tym samym dysku.
Ponieważ polecenie Move-Item przenosi właściwości, zawartość i elementy podrzędne elementu, wszystkie ruchy są domyślnie rekursywne.
Cmdlet jest przeznaczony do pracy z danymi udostępnionymi przez dowolnego dostawcę.
Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider.
Aby uzyskać więcej informacji, zobacz about_Providers.