Przenosi element z jednej lokalizacji do innej.
- Syntaktyka
- Opis
- Przykłady
- Przykład 1: Przenieś plik do innego katalogu i zmień jego nazwę
- Przykład 2: Przenoszenie katalogu i jego zawartości do innego katalogu
- Przykład 3: Przenieś wszystkie pliki o określonym rozszerzeniu z bieżącego katalogu do innego katalogu
- Przykład 4: Rekursywne przenoszenie wszystkich plików o określonym rozszerzeniu z bieżącego katalogu do innego katalogu
- Przykład 5: Przenoszenie kluczy rejestru i wartości do innego klucza
- Przykład 6: Przenieś katalog i jego zawartość do podkatalogu określonego katalogu
- Parameters
- Inputs
- Outputs
- Notatki
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
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Wartość domyślna: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
.