Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Konwerter CMD do PowerShell

Przelicz komendy CMD (Command Prompt) na odpowiedniki PowerShell. Tabela poleceń, aliasy i przykłady. Dla adminów Windows i deweloperów. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
131 znaków

Komendy przetłumaczone

8 szt.

polecenia CMD rozpoznane w słowniku konwertera

Tryb

basic

strict dokleja -WhatIf przy Remove-Item, basic idzie na skróty

Rozmiar wyniku

759 znaków

skrypt PowerShell wraz z komentarzami i słownikiem

# Converted from CMD: echo off
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
# Example: clean temp folder and list files
$TARGET = "${env:TEMP}"
Set-Location -Path "${TARGET}"
Get-ChildItem
# CMD args for DEL/ERASE (review): /q *.tmp
Remove-Item -Force -Path "<pattern>"
# Replace <pattern> with a file path or wildcard pattern.
Write-Output 'Done.'
Read-Host "Press Enter to continue" | Out-Null


# --- Command Dictionary (CMD -> PowerShell) ---
# echo -> Write-Output
# echo off -> Set-StrictMode / $ErrorActionPreference
# set -> $var = "value"
# cd /d -> Set-Location
# dir -> Get-ChildItem
# del -> Remove-Item
# pause -> Read-Host
# rem -> #
# --- Notes ---
# DEL/ERASE detected. Replace <pattern> and consider -WhatIf during testing.
Mapa z kodu konwertera: dir → Get-ChildItem, copy → Copy-Item, cls → Clear-Host; rd/rmdir i del/erase dostają szkielet do uzupełnienia, a IF/FOR/GOTO zawsze ręczną poprawkę
Polecenie CMDOdpowiednik PowerShell
echo Write-Output
echo off Set-StrictMode / $ErrorActionPreference
set $var = "value"
cd Set-Location
cd /d Set-Location
dir Get-ChildItem
type Get-Content
copy Copy-Item
move Move-Item
del Remove-Item
erase Remove-Item
mkdir New-Item -ItemType Directory
md New-Item -ItemType Directory
rmdir Remove-Item -Recurse -Force
rd Remove-Item -Recurse -Force
cls Clear-Host
pause Read-Host
findstr Select-String
call & (call operator)
rem #

Konwerter wypisuje pełne polecenia (Get-ChildItem, a nie dir), bo aliasy mogą być wyłączone albo nadpisane w restrykcyjnych środowiskach — skrypt z pełnymi nazwami działa zawsze.

Wbudowane aliasy PowerShell: cls = Clear-Host, dir = Get-ChildItem, del/erase = Remove-Item; tylko pause nie ma aliasu
Nazwa z CMDDziała w PowerShell?Pełne polecenie
cls tak — cls Clear-Host
echo tak — echo Write-Output
dir tak — dir (też ls, gci) Get-ChildItem
cd tak — cd (też sl) Set-Location
type tak — type (też gc, cat) Get-Content
copy tak — copy (też cp, cpi) Copy-Item
move tak — move (też mv) Move-Item
del tak — del (też rm, ri, erase) Remove-Item
md tak — md (funkcja mkdir) New-Item -ItemType Directory
pause nie — brak aliasu Read-Host "Naciśnij Enter" | Out-Null

Warto wiedzieć — CMD i PowerShell to różne światy

Zmienne: %VAR% → $VAR

SET VAR=wartość staje się $VAR = 'wartość'. Zmiennych ustawionych przez SET konwerter potem używa jak $VAR, a nierozpoznane %VAR% kieruje do $env:VAR — w CMD zmienna „lokalna” i środowiskowa to ten sam zapis, w PowerShell to dwa różne namespace'y.

Czego konwerter nie zrobi za Ciebie

Konstrukcje sterujące (IF, FOR, GOTO, etykiety) wymagają ręcznej przebudowy — składnia if/foreach/switch w PowerShell jest zbyt inna, by tłumaczyć automatycznie. COPY i MOVE dostają komentarz-szkielet z Copy-Item/Move-Item do uzupełnienia ścieżek -Path i -Destination.

Testuj z -WhatIf

Tryb strict dodaje -WhatIf do Remove-Item, więc uruchomienie skryptu pokaże, co zostałoby usunięte, bez ruszania plików. To najbezpieczniejszy pierwszy krok po konwersji — zwłaszcza że DEL w CMD kasuje od razu, bez kosza.

Skrypty .ps1 wymagają zgody

Zapisany plik .ps1 nie uruchomi się domyślnie na Windows — domyślna polityka wykonywania to Restricted. Sprawdź ją poleceniem Get-ExecutionPolicy, a dla własnych skryptów użyj Set-ExecutionPolicy RemoteSigned albo odpal przez powershell -File.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Konwerter CMD na PowerShell – tabela odpowiedników komend Windows

PowerShell to nowoczesna powłoka Windows zastępująca CMD (Command Prompt). Większość komend CMD działa w PowerShell przez aliasy, ale składnia różni się w zaawansowanych przypadkach. Narzędzie tłumaczy komendy CMD na natywne cmdlety PowerShell z wyjaśnieniem.

konwerter CMD PowerShell CMD na PowerShell komendy Windows PowerShell polecenia cmd odpowiedniki

Podstawowe odpowiedniki CMD → PowerShell

dir → Get-ChildItem (alias: dir, ls, gci). cd → Set-Location (alias: cd, sl). copy → Copy-Item (alias: copy, cp). move → Move-Item (alias: move, mv). del/erase → Remove-Item (alias: del, rm, ri). rename → Rename-Item (alias: ren). mkdir → New-Item -ItemType Directory (alias: mkdir, md). type → Get-Content (alias: type, cat, gc). cls → Clear-Host (alias: cls, clear).

Komendy sieciowe CMD → PowerShell

ipconfig → Get-NetIPConfiguration (lub ipconfig nadal działa). ping → Test-Connection. tracert → Test-NetConnection -TraceRoute. netstat → Get-NetTCPConnection. nslookup → Resolve-DnsName. net use → New-PSDrive lub net use (stary działa). arp -a → Get-NetNeighbor. hostname → $env:COMPUTERNAME.

Zarządzanie procesami i serwisami

tasklist → Get-Process (alias: ps). taskkill /PID 1234 → Stop-Process -Id 1234. net start/stop serwis → Start-Service/Stop-Service. sc query → Get-Service. regedit → regedit nadal lub New-ItemProperty (registry). msconfig → brak cmdletu, GUI. shutdown /r /t 0 → Restart-Computer. systeminfo → Get-ComputerInfo.

Dlaczego migrować z CMD do PowerShell

Obiektowy output: wyniki cmdletów to obiekty (nie tekst) – łatwiejsze filtrowanie. Pipeline: Get-Process | Where-Object CPU -gt 10 | Sort-Object CPU -Desc. Skrypty .ps1: zaawansowane automatyzacje. Moduły: Active Directory, Azure, VMware, SQL Server. Remoting: Enter-PSSession (SSH-like). Cross-platform: PowerShell Core (Linux, macOS).

Jak działa konwerter komend CMD na PowerShell

Konwerter nie uruchamia żadnej komendy i nie odwołuje się do Twojego systemu. Działa wyłącznie na tekście: pobiera wpisany ciąg, rozbija go na tokeny, czyli nazwę komendy, przełączniki zapisane po ukośniku (na przykład /s, /b, /F), argumenty oraz operatory potoku i przekierowania. Każdy token jest następnie porównywany z wbudowaną tabelą odpowiedników CMD i PowerShell.

Mapowanie przebiega trójwarstwowo. Najpierw nazwa komendy zamieniana jest na cmdlet, na przykład taskkill na Stop-Process. Potem przełączniki CMD stają się parametrami PowerShell: /PID zmienia się w -Id, a /F w -Force. Na końcu argumenty trafiają do właściwych parametrów. Wynikiem jest komenda w składni PowerShell wraz z krótkim wyjaśnieniem, skąd wzięło się dane tłumaczenie.

Osobno traktowane są potoki i przekierowania. W CMD dane płyną jako tekst, w PowerShell jako obiekty, więc nie da się tego przełożyć jeden do jednego. Konwerter tłumaczy każdy segment po kolei i oznacza miejsca wymagające ręcznej korekty, na przykład wtedy, gdy findstr przeszukuje strumień wyjściowy, a w PowerShell naturalnym odpowiednikiem jest Where-Object albo Select-String.

Przykład: konwersja komendy taskkill /PID 1234 /F krok po kroku

  1. Wpisujesz w polu narzędzia komendę CMD w postaci taskkill /PID 1234 /F.
  2. Konwerter rozbija ją na części: komenda taskkill, przełącznik /PID z wartością 1234 oraz flaga /F.
  3. Nazwa komendy zostaje dopasowana do cmdletu: taskkill odpowiada Stop-Process.
  4. Przełączniki zostają przetłumaczone: /PID na -Id, a /F na -Force. Wynik to Stop-Process -Id 1234 -Force.
  5. Sprawdzasz poprawność wywołania w PowerShell, na przykład przez Get-Help Stop-Process -Parameter Id, i upewniasz się, że parametr przyjmuje identyfikator procesu oraz że istnieje przełącznik -Force.
  6. Uruchamiasz gotową komendę w podniesionym oknie PowerShell i porównujesz efekt z zachowaniem znanym z CMD. Jeśli chcesz najpierw zobaczyć, co zostałoby zrobione, dodaj -WhatIf, o ile dany cmdlet obsługuje ShouldProcess.

Tabela referencyjna: komenda CMD, cmdlet i typowe pułapki

Komenda CMDOdpowiednik PowerShellNa co uważać
dir /bGet-ChildItem -NameZwracane są same nazwy, a nie obiekty z metadanymi, więc nie odfiltrujesz po rozmiarze ani dacie.
copyCopy-ItemDomyślnie nie pyta o nadpisanie pliku; potwierdzenie wymusza parametr -Confirm.
del, eraseRemove-ItemPlik nie trafia do kosza, usunięcie jest trwałe.
typeGet-ContentPlik czytany jest linia po linii; całą zawartość naraz zwraca parametr -Raw.
taskkill /PID 1234Stop-Process -Id 1234Identyfikator procesu trzeba znać, wcześniej odczytasz go przez Get-Process.
pingTest-ConnectionWynikiem są obiekty, a nie tekst, więc nie da się go skleić z komunikatem z CMD.
tracertTest-NetConnection -TraceRouteDziała wolniej, ale dane trasy dostajesz jako obiekt gotowy do filtrowania.
nslookupResolve-DnsNameZamiast tekstowego raportu zwraca rekordy DNS z osobnymi polami.

Jak korzystać z konwertera w praktyce

  • Wklejaj jedną komendę na raz — pojedyncze polecenie łatwiej zweryfikować niż cały wiersz z wieloma operatorami, a tłumaczenie jest wtedy jednoznaczne.
  • Sprawdzaj wynik przed uruchomieniem — użyj Get-Help dla wskazanego cmdletu albo parametru -WhatIf, zanim wykonasz operację na produkcji.
  • Wybieraj nazwy natywne, nie aliasy — dir, copy czy del działają w PowerShell, ale aliasy nie odsłaniają pełni parametrów i utrudniają czytanie skryptów.
  • Zamieniaj potoki tekstowe na obiektowe — tam, gdzie CMD filtrował tekst przez findstr, w PowerShell zwykle wystarczy Where-Object lub Select-String.
  • Komendy niszczące testuj na kopii — Remove-Item i Stop-Process działają natychmiast, bez pytania o potwierdzenie i bez kosza.

Ograniczenia konwertera

  • Polecenia zewnętrznych programów — składnia własnych plików .exe i narzędzi firm trzecich nie jest znana tabeli odpowiedników, więc takie wywołanie zostanie przepisane bez zmian.
  • Złożone potoki i przekierowania — tłumaczenie idzie segment po segmencie, dlatego wynik dla długiego wiersza z wieloma operatorami wymaga ręcznej weryfikacji.
  • Zmienne i parametry skryptów — odwołania w stylu %PATH% albo %1 z plików .bat nie mają prostego odpowiednika; trzeba je zastąpić zapisem $env:PATH oraz $args.
  • Wersja PowerShell i uprawnienia — narzędzie nie sprawdza, czy dany cmdlet istnieje w Twojej wersji powłoki ani czy masz prawa administratora, a komendy sieciowe często wymagają podniesionego okna.

Najczęstsze pytania

Jak uruchomić CMD jako administrator w PowerShell?

CMD: prawy klik na ikonę → "Uruchom jako administrator". PowerShell: Start-Process cmd.exe -Verb RunAs. Automatycznie w skrypcie: [Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent() sprawdza uprawnienia. Dla samego PS: Start-Process powershell -Verb RunAs.

Jak konwertować skrypt .bat do PowerShell?

Ręcznie: zastąp komendy CMD odpowiednikami PS. Zmienne: %VAR% → $env:VAR lub $VAR. IF istnieje: IF EXIST path → Test-Path. FOR loop: FOR /F → ForEach-Object lub foreach. GOTO: PowerShell nie ma goto – użyj funkcji. Komentarze: REM → #. echo. (nowa linia) → Write-Host "".

Czy aliasy CMD działają w PowerShell?

Większość tak: dir, cd, del, copy, move, cls, type, echo, ipconfig, ping, tracert. Aliasy PS: ls = dir = Get-ChildItem; rm = del = Remove-Item. Uwaga: some aliasy różnią się zachowaniem. dir w PS zwraca obiekty FileSystemInfo, nie czysty tekst. Parametry: dir /s /b → Get-ChildItem -Recurse -Name.

Jak używać zmiennych środowiskowych w PowerShell?

$env:PATH – zmienna PATH. $env:COMPUTERNAME – nazwa komputera. $env:USERNAME – bieżący użytkownik. $env:TEMP – katalog tymczasowy. Tworz: $env:MYVAR = "wartość". Trwałe (system): [System.Environment]::SetEnvironmentVariable("VAR", "val", "Machine"). W CMD: %VAR%, w PS: $env:VAR.

Jaka jest różnica między PowerShell a PowerShell Core?

Windows PowerShell (5.1): tylko Windows, .NET Framework, dołączony do Windows. PowerShell Core (6+) / PowerShell 7+: cross-platform (Windows/Linux/macOS), .NET Core/.NET 5+, open source (GitHub). Aliasy: w PS7 niektóre Linux-aliasy (ls, cat) są domyślnie dostępne. Microsoft zaleca PS7 dla nowych projektów.

Czy konwerter działa też w drugą stronę, z PowerShell na CMD?

Nie. Narzędzie tłumaczy komendy CMD na cmdlety PowerShell. Część cmdletów nie ma odpowiednika w CMD, więc tłumaczenie odwrotne byłoby niepełne.

Dlaczego po konwersji komenda nadal nie działa?

Najczęstsze przyczyny to brak uprawnień administratora, inna wersja PowerShell niż zakładana albo polecenie zewnętrznego programu, które nie ma odpowiednika w postaci cmdletu.

Czy w PowerShell nadal mogę używać dir, copy i del?

Tak, to aliasy działających cmdletów, więc stare komendy zwykle się wykonają. Aliasy nie dają jednak dostępu do wszystkich parametrów, dlatego w skryptach lepiej używać nazw natywnych, takich jak Get-ChildItem czy Remove-Item.

Czym różni się findstr od Select-String?

findstr przeszukuje tekst i zwraca wiersze, a Select-String dopasowuje wzorce w obiektach i zwraca je razem z informacją o pliku oraz numerze linii. Wynik Select-String łatwiej dalej filtrować.

Czy konwerter obsługuje komendy sieciowe, takie jak ping i tracert?

Tak. ping mapowany jest na Test-Connection, tracert na Test-NetConnection -TraceRoute, a ipconfig na Get-NetIPConfiguration. Starsze komendy nadal działają, ale zwracają tekst zamiast obiektów.

Powiązane narzedzia: generator komend bash, tester skryptow PowerShell i konwerter kodu.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!