Як редагувати текстові файли в командному рядку 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.