Jak edytować pliki tekstowe w wierszu polecenia systemu Windows?

90

Na Unixie używałbym vi , ale nie wiem, jakie to polecenie jest w systemie Windows. W rzeczywistości próbuję edytować pliki przez SSH w systemie Windows Server 2008.

Casebash
źródło
1
Myślę, że przyjęta odpowiedź powinna zostać zmieniona na Squillman (ponieważ jest to jedyna, która będzie działać na większości współczesnych komputerów PC - i być może w kontenerach Docker).
Peter Mortensen,
jeśli zrobić posiada graficzny pulpit, ale po prostu chcesz edytować plik bezpośrednio od cmdNastępnie można użyć np notatniknotepad myfile.txt
ccpizza

Odpowiedzi:

51

edit filename

Nie będę ręczyć za jego funkcjonalność i przestarzały interfejs GUI, ale jest on instalowany domyślnie, nawet w systemie Windows 7.

Edycja: oprócz 64-bitowych wersji systemu Windows.

Mike Fitzpatrick
źródło
13
Na wszystkich wersjach systemu Windows? Najwyraźniej nie ma „edycji” w systemie Windows 7.
Snark,
12
Dziwne ... najwyraźniej jest domyślnie zainstalowany na Windows 7 32-bit, ale nie na Windows 7 64-bit. To smutne.
nhinkle
6
@nhinkle: Wydaje mi się, że pamiętam coś o 16-bitowych aplikacjach niedostępnych w 64-bitowych instalacjach Windows.
intuicyjnie
4
Potwierdzono, że NIE działa w Win 10 ... Naprawdę nie mogę uwierzyć, że Windows nie ma tak podstawowych narzędzi i nikomu nawet to nie przeszkadza
Rafael T
2
Jest to po prostu zła odpowiedź, mówiąc ogólnie o „Windowsie”. Dzisiaj Windows to także Win7-64bit, Win8-64bit, Win8.1-64bit, Win10. „edycja” nie może być poprawną odpowiedzią na pytanie z dzisiejszego punktu widzenia.
Mehrdad Mirreza
68

Najprostszym rozwiązaniem we wszystkich wersjach systemu Windows jest:

C:\> notepad somefile.txt

I nie wymaga dodatkowego oprogramowania.

BillP3rd
źródło
27
Fajnie, ale nie po SSH
Casebash
4
Ach Dobrze. Windows nie ma wbudowanego edytora wiersza poleceń. Prawdopodobnie będziesz musiał zainstalować wersję Gnu edytora, którego chcesz użyć. Ponieważ już zainstalowałeś sshserwer, nie powinno to stanowić dla ciebie problemu.
BillP3rd,
8
Tak jak powiedział OP ... „Właściwie próbuję edytować pliki przez ssh ...”
daviewales
7
bezużyteczne odpowiedzi, zarówno dla użytkowników, SSH i dla tych, którzy chcą edytować pliki IN cmd okna, a nie poza nim
vladkras
3
To nie zadziała w kontenerze Docker opartym na „windowsservercore”
Peter Mortensen
42

W wierszu polecenia systemu Windows wpisz con con, a następnie nazwę pliku docelowego. ( copy con c:\file.txt).

Następnie wprowadź tekst, który chcesz umieścić w pliku.

Zakończ i zapisz plik, naciskając CTRL- Zwtedy Enterlub F6potem Enter.

Jeśli chcesz zmienić tekst w istniejącym pliku, po prostu wyświetl tekst za pomocą polecenia, typea następnie nazwy pliku, a następnie po prostu skopiuj i wklej tekst do copy conpolecenia.

Mordorf
źródło
7
Twardy rdzeń. Staraj się nie robić literówek, bo będziesz musiał zacząć od nowa. Cóż, backspace działa, jeśli złapiesz błąd przed naciśnięciem Enter.
Kevin Panko
Nie działa z psexec. Próbowałem edytować plik hosts, copy con hostsale ^ Z nie zapisuje, a ^ C nie anuluje! Musiałem zamknąć okno cmd, aby wyjść. Plik nie został zmieniony.
Iain Samuel McLean Starszy
Uwaga: F6 można użyć zamiast [Ctrl] - [Z]
MonoThreaded
W kontenerze Docker opartym na „windowsservercore” (CMD), Ctrl + C pracował dla kończącej sekwencji klawiszy.
Peter Mortensen
14

Jeśli jesteś przyzwyczajony do vi i nie chcesz zadowolić się wbudowanym edytorem, możesz pobrać Vima na Windows . Będzie działał z powłoki poleceń. Lub wypróbuj WinVi .

squillman
źródło
to powinienem zaznaczyć jako odpowiedź, ponieważ editzostał usunięty z Win 10
Luke
1
Jest o wiele lepsze: działa również w kontenerze Windows Docker (najłatwiej jest uzyskać „plik wykonywalny konsoli Win32”, np. Vim81w32.zip - rozpakuj i skopiuj vim.exetam, gdzie jest on dostępny w kontenerze Docker).
Peter Mortensen
9

Wierzcie lub nie, EDLIN.EXEwciąż jest <shudder>przynajmniej w tym systemie Vista.

Przepraszam, gdy szlocham cicho do siebie ...

Dennis Williamson
źródło
6
Został ostatecznie usunięty w systemie Windows 7 (przynajmniej wersje 64-bitowe).
paradroid
1
@ jason404: Nadal jest zawarty w 32-bitowym systemie Windows 7.
Dennis Williamson,
2
edlin to program 16-bitowy, dlatego nie jest dostępny w 64-bitowych wersjach systemu Windows. Nie
zdziwię się
1
@ TSJNachos117 Rzeczywiście jest w systemie Windows 10 w wersji x86
Brian Duddy
Wcale nie zaskoczony.
TSJNachos117
8

Nie wiem o SSH ani o czymkolwiek innym (związanym z serwerem), więc wybacz mi, jeśli to „rozwiązanie” jest bezużyteczne. Jeśli chcesz edytować pliki w wierszu polecenia, możesz pobrać wersję Nano dla systemu Windows .

Na marginesie, te małe ^znaki na dole okna powinny reprezentować Ctrlprzycisk. Na przykład ^X Exitoznacza, że ​​możesz wyjść z programu za pomocą Ctrl- X.

Ponadto Nano czasami dodaje dodatkowe nowe wiersze podczas zapisywania plików. To wydaje się być pewnym błędem w zawijaniu słów Nano.

Widziałem również porty vi dla Windows, chociaż użyłem takiego, który sprawia, że ​​okno wiersza polecenia jest tak małe, jak to tylko możliwe, pozostawiając tylko pasek tytułu (co oznacza, że ​​reszta okna może być niewidoczna , ponieważ nie możesz zobaczyć, co robisz). Jednak wersja Vima dla Windows wydaje się działać całkiem nieźle.

TSJNachos117
źródło
2
Zanim poszukałem tych „może działać, ale są bezużyteczne rozwiązania”, pomyślałem o porcie Windows dla Nano. Używa cygwin.dll i nic więcej. Wybrałem najlżejszą wersję, jaką mogę, z netcologne.dl.sourceforge.net/project/nano/nano/1.0.8/… . Dziękuję Ci.
erm3nda