Po prostu ciekawy. „Fajni” ludzie w naszej firmie zawsze używają * .cmd, podczas gdy nikt nie był w stanie wyjaśnić mi różnicy.
windows
batch-file
windows-command-prompt
Artem Tichomirow
źródło
źródło
Istnieją różnice semantyczne w języku poleceń używanym dla każdego (
.bat
pliki uzyskują wersję kompatybilności). Niektóre z nich można zilustrować stąd :Zasadniczo
.cmd
pliki otrzymują aktualną, bardziej seksowną wersję języka poleceń MS, dlatego też fajne dzieci z nich korzystają.źródło
Według Wikipedii:
.bat: pierwsze rozszerzenie używane przez Microsoft do plików wsadowych. To rozszerzenie można uruchomić w większości systemów operacyjnych Microsoft, w tym MS-DOS i większości wersji Microsoft Windows.
.cmd: nowsze rozszerzenie .cmd jest opisywane przez systemy oparte na Windows NT jako „skrypt poleceń Windows NT” i jest pomocne, ponieważ użycie rozszerzenia .cmd zamiast rozszerzenia .bat oznacza, że wcześniejsze wersje systemu Windows nie będą wiedziały, jak to zrobić. uruchom go, aby nie próbowali pomylić poleceń z plikami stylu COMMAND.COM i nie uruchomili poleceń nowego stylu ze względu na brak rozszerzeń poleceń, co powoduje, że skrypty są uruchamiane tylko częściowo, co może okazać się szkodliwe (dla przykład; nieudane sprawdzenie udanego kopiowania pliku, a następnie usunięcie oryginału).
Jedyną znaną różnicą między przetwarzaniem plików .cmd i .bat jest to, że w pliku .cmd zmienna ERRORLEVEL zmienia się nawet w przypadku pomyślnego polecenia, na które wpływ mają rozszerzenia poleceń (gdy rozszerzenia poleceń są włączone), natomiast w plikach .bat zmienna ERRORLEVEL zmienia się tylko w przypadku błędów.
Mam nadzieję że to pomoże.
źródło
Teoretycznie .cmd jest bardziej „prawdziwy” :), ponieważ .bat jest skryptem dla starego DOS command.com, podczas gdy .cmd jest dla cmd.exe z Windows NT, ten ostatni ma nieco ulepszone skrypty. W prawdziwym życiu zwykle oba są równe, jak pisanie / bin / sh lub / bin / bash w Linuksie (oznacza to, że sh to bash)
źródło
Najpierw zobaczyłem format .cmd używany w OS / 2. Jeśli myślisz w kategoriach DOS, jest to jak plik .bat na sterydach. Pliki .bat zostały wprowadzone najpierw w systemach operacyjnych DOS typu. Wiele składni jest podobna, z wyjątkiem sytuacji, gdy zaczynasz wchodzić w zaawansowane funkcje. Ponadto plik .cmd może nie działać w środowisku 16-bitowym (win98), podczas gdy plik .bat prawdopodobnie będzie działał we wszystkich środowiskach.
źródło