Як редагувати текстові файли в командному рядку Windows?


90

У Unix я б просто використовував vi , але я не знаю, яка команда в Windows. Насправді я намагаюся редагувати файли через SSH за допомогою Windows Server 2008.


1
Я думаю, що прийняту відповідь слід змінити на шквал (тому що це єдиний, який буде працювати на більшості сучасних ПК - і, можливо, всередині контейнерів Docker).
Пітер Мортенсен


якщо ви робите є графічний робочий стіл , а просто хочете відредагувати файл безпосередньо з , cmdто ви можете використовувати , наприклад , блокнот зnotepad myfile.txt
ccpizza

Відповіді:


51

edit filename

Я не буду поручувати його функціональність та застарілий графічний інтерфейс, але він встановлений за замовчуванням, навіть у Windows 7.

Редагування: За винятком 64-бітових версій Windows.


13
На всіх версіях Windows? У Windows 7, мабуть, немає «редагування».
Snark

12
Як це не дивно ... очевидно, що він встановлений за замовчуванням у Windows 7 32-розрядному, але не в 64-бітному Windows 7. Це сумно.
nhinkle

6
@nhinkle: Я, мабуть, пригадую читати щось про недоступність 16-бітних програм під час встановлення 64-бітних windows.
інтуїтивно

4
Підтверджено, що НЕ працює у програмі Win 10 ... Я справді не можу повірити, що Windows не має таких основних інструментів, і ніхто навіть не здається, що це байдуже
Rafael T

2
Це просто неправильна відповідь, коли загалом говорять про "Windows". Сьогодні Windows також є Win7-64bit, Win8-64bit, Win8.1-64bit, Win10. "редагування" не може бути правильною відповіддю на питання з сьогоднішньої точки зору.
Мехрдад Мірреза

68

Найпростішим рішенням для всіх версій Windows є:

C:\> notepad somefile.txt

І додаткове програмне забезпечення не потрібно.


27
Приємно, але не над SSH
Casebash

4
Ага. Правильно. У Windows не вбудований редактор командного рядка. Можливо, вам потрібно буде встановити версію Gnu редактора, який ви хочете використовувати. Оскільки ви вже встановили sshсервер, це не повинно бути для вас проблемою.
BillP3rd

8
Як сказав ОП ... "Я насправді намагаюся редагувати файли через ssh ..."
daviewales

7
марна відповідь, як для ssh користувачів, так і для тих, хто хоче редагувати файли IN cmd вікно, а не поза ним
vladkras

3
Це не працюватиме в контейнері Docker на основі "windowsservercore"
Пітер Мортенсен,

42

У командному рядку Windows введіть копію з наступним іменем файлу. ( copy con c:\file.txt).

Потім введіть текст, який потрібно помістити у файл.

Закінчіть і збережіть файл, натиснувши CTRL- Zтоді Enterабо F6потім Enter.

Якщо ви хочете змінити текст у наявному файлі, просто виведіть текст за допомогою команди, typeза якою слід назвати файл, а потім просто скопіюйте та вставте текст у copy conкоманду.


7
Жорстке ядро. Намагайтеся не робити помилок, інакше доведеться починати заново. Добре, що backspace працює, якщо ви виявите помилку перед натисканням клавіші Enter.
Кевін Панько

Схоже, це не працює з psexec. Спробував редагувати мій файл хостів за допомогою, copy con hostsале ^ Z не зберігається і ^ C не скасовує! Довелося закрити вікно cmd, щоб вийти. Файл не змінився.
Ієн Самуель Маклін Старший

Примітка: F6 можна використовувати замість [Ctrl] - [Z]
MonoThreaded

У контейнері Docker на основі "windowsservercore" (CMD) Ctrl + C працював на завершальну послідовність ключа.
Пітер Мортенсен

14

Якщо ви звикли до vi і не хочете влаштовуватися на вбудований редактор, ви можете отримати Vim для Windows . Він запускається з командної оболонки. Або спробуйте WinVi .


це повинно мене відзначити як відповідь, оскільки editбуло вилучено з виграшу 10
Лука

1
Це набагато краще, ніж це: він також працює всередині контейнера Windows Docker (найпростіше отримати "консоль Win32, що виконується", наприклад, vim81w32.zip - розпакуйте та скопіюйте vim.exeтуди, куди вона доступна в контейнері Docker).
Пітер Мортенсен

9

Вірите чи ні, EDLIN.EXEвсе ще існує, <shudder>принаймні, у цій системі Vista.

Вибачте, поки я тихо плакав собі ...


6
Нарешті було видалено в Windows 7 (принаймні 64-бітні версії).
парадороїд

1
@ jason404: Він все ще входить у 32-розрядну Windows 7.
Денніс Вільямсон

2
edlin - це 16-розрядна програма, тому вона недоступна в 64-бітних версіях Windows. Однак я не здивуюсь, якщо хтось тут стверджує, що він все ще присутній у 32-бітній версії Windows 10.
TSJNachos117,

1
@ TSJNachos117 Дійсно в x86 Windows 10.
Брайан Дадді

Не здивований зовсім.
TSJNachos117

8

Я не знаю про SSH або що-небудь (ще?), Пов’язане з сервером, тож вибачте мене, якщо це "рішення" марне. Якщо ви хочете редагувати файли в командному рядку, ви можете отримати версію Windows Nano .

Як бічна примітка, ці маленькі ^знаки внизу вікна повинні являти собою Ctrlкнопку. Наприклад, ^X Exitозначає, що ви можете вийти з програми за допомогою Ctrl- X.

Також Nano іноді додаватиме додаткові рядки під час збереження файлів. Це, здається, якась помилка із загортанням слова Нано.

Я також бачив порти vi для Windows, хоча я використовував такий, який, здається, робить вікно командного рядка якомога меншим, залишаючи лише рядок заголовка (це означає, що решта вікна може бути непомітною , оскільки ви не можете бачити, що ви робите). Однак, здається , що версія Windows Vim працює досить непогано.


2
Перш ніж шукати пошук для тих, хто "може працювати, але є марними рішеннями", я подумав про порт Windows Nano. Він використовує cygwin.dll і більше нічого. Я підбираю найлегшу версію, яку я можу, з netcologne.dl.sourceforge.net/project/nano/nano/1.0.8/… . Дякую.
erm3nda
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.