如何在 Windows 命令提示符下编辑文本文件?

Cas*_*ash 143 windows ssh command-line

在 Unix 上我只使用vi,但我不知道 Windows 上的命令是什么。我实际上是在尝试使用 Windows Server 2008 通过 SSH 编辑文件。

Bil*_*3rd 93

所有版本的 Windows上最简单的解决方案是:

C:\> notepad somefile.txt
Run Code Online (Sandbox Code Playgroud)

而且,不需要额外的软件。

  • 不错,但不是通过 SSH (59认同)
  • 无用的答案,对于 ssh 用户和想要在 **IN** cmd 窗口中编辑文件的人,而不是在它之外 (16认同)
  • 就像 OP 所说的......“我实际上是在尝试通过 ssh 编辑文件......” (12认同)
  • 这在基于“windowsservercore”的 Docker 容器中不起作用 (7认同)
  • 啊。对。Windows 没有内置命令行编辑器。您可能需要安装要使用的编辑器的 Gnu 版本。由于您已经安装了 `ssh` 服务器,这对您来说应该没有问题。 (5认同)

小智 63

在 Windows 命令提示符下输入copy con后跟目标文件名。( copy con c:\file.txt).

然后输入要放入文件的文本。

CTRL- ZthenEnterF6then结束并保存文件Enter

如果要更改现有文件中的文本,只需使用type后跟文件名的命令显示文本,然后将文本复制并粘贴到copy con命令中即可。

  • 硬核。尽量不要打错字,否则你将不得不重新开始。好吧,如果您在按 Enter 之前发现错误,则退格键确实有效。 (13认同)
  • 在基于“windowsservercore”(CMD)的 Docker 容器中,Ctrl + C 用于终止键序列。 (3认同)

Mik*_*ick 62

edit filename

我不保证它的功能和过时的 GUI,但它是默认安装的,即使在 Windows 7 上也是如此。

编辑:除了 64 位版本的 Windows。

  • 奇怪...显然它默认安装在 Windows 7 32 位上,但不在 Windows 7 64 位上。这很可悲。 (18认同)
  • 在所有版本的 Windows 上?Windows 7 上显然没有“编辑”。 (15认同)
  • 确认不能在 Win 10 中工作......我真的不敢相信 Windows 缺少这样的基本工具,甚至似乎没有人在乎 (12认同)
  • @nhinkle:我似乎记得读过一些关于 16 位应用程序在 64 位 Windows 安装下不可用的内容。 (7认同)
  • 通常在谈论“Windows”时,这只是错误的答案。今天,Windows也是Win7-64bit、Win8-64bit、Win8.1-64bit、Win10。从今天的角度来看,“编辑”不能是这个问题的正确答案。 (3认同)
  • 它也不适用于 Win10 x64。看来他们没有 64 位 Windows 的 DOS 编辑器选项。如今“记事本”和其他 GUI 编辑器似乎是唯一的选择。 (2认同)
  • 这不应该是公认的答案。现在谁用32位? (2认同)

squ*_*man 26

如果您习惯了 vi 并且不想满足于内置编辑器,您可以获取Vim for Windows。它将从命令外壳运行。或者试试WinVi

  • 它比那要好得多:它也可以在 Windows Docker 容器中工作(最容易获得“Win32 控制台可执行文件”,例如 [vim81w32.zip](http://ftp.vim.org/pub/vim/pc /vim81w32.zip) - 解压并将 `vim.exe` 复制到 Docker 容器中可访问的任何位置)。 (4认同)
  • 这应该我标记为答案,因为“编辑”已从 win 10 中删除 (3认同)

gma*_*man 20

如果您为 Windows 安装了 git,那么很可能 nano 和 vim 都可以在

C:\Program Files\Git\usr\bin\nano.exe
C:\Program Files\Git\usr\bin\vim.exe
Run Code Online (Sandbox Code Playgroud)

从命令提示符 (cmd.exe) 运行

"c:\Program Files\Git\usr\bin\nano.exe" <filename>
Run Code Online (Sandbox Code Playgroud)

在powershell中运行

& 'C:\Program Files\Git\usr\bin\nano.exe' <filename>
Run Code Online (Sandbox Code Playgroud)

即使通过 ssh,它们也能很好地工作。

  • 这是完美的答案! (3认同)
  • 谢谢!Git imo 是一种更合理的依赖项,它可能已经在服务器上,而不是 WSL 或其他 3rd 方文本编辑器。 (2认同)

Den*_*son 11

信不信由你,至少在这个 Vista 系统上EDLIN.EXE仍然存在<shudder>

对不起,我对自己轻轻抽泣......

  • 它最终在 Windows 7(至少是 64 位版本)中被删除。 (7认同)
  • @jason404:它仍然包含在 32 位 Windows 7 中。 (2认同)
  • edlin 是一个 16 位程序,因此它在 64 位版本的 Windows 中不可用。但是,如果这里有人声称它仍然存在于 32 位版本的 Windows 10 中,我不会感到惊讶。 (2认同)

TSJ*_*117 9

我不知道 SSH 或任何(其他?)与服务器相关的东西,所以如果这个“解决方案”没用,请原谅我。如果你想在命令提示符下编辑文件,你可以获得 Windows 版本的Nano

作为旁注,^窗口底部的那些小标志应该代表Ctrl按钮。例如,^X Exit意味着您可以使用Ctrl-退出程序X

此外,Nano 有时会在保存文件时添加额外的换行符。这似乎是 Nano 自动换行的某种错误。

我还看到了用于 Windows的vi端口,尽管我使用的端口似乎使命令提示符窗口尽可能小,只留下一个标题栏(这意味着窗口的其余部分也可能不可见) ,因为你看不到你在做什么)。然而,Windows 版本的 Vim似乎工作得很好。

  • 在寻找那些“可能有效但无用的解决方案”之前,我想到了 Nano 的 Windows 端口。它使用的是 cygwin.dll,仅此而已。我已经从 https://netcologne.dl.sourceforge.net/project/nano/nano/1.0.8/nano-1.0.8.zip 中挑选了最轻的版本。谢谢你。 (2认同)

not*_*bit 5

使用vimnano

安装使用choco install vimChocolatey包管理vim

(可能也有Scoop版本,但我还没有检查过。)

虽然nano也以choco封装形式存在,但它已经非常过时了。而是手动安装此 nano。但是,当通过 SSH 使用时,nano控制字符会有点混乱,因此您可能会丢失一些字符,因为 Windows 使用自己的 API 来控制屏幕字符,而不是 POSIX。所以虽然目前为了未来Win10的兼容性正在进行大量的工作。

然后你可以使用: 运行nano -cg some.txt,但是当你按下 时,光标只会显示在正确的位置CTRL-L。(这就是为什么vim是首选的原因。)

  • 当然,这需要安装 Chocolately (3认同)

DDS*_*DDS 5

2020 年更新:

在 Win10 上只需启用 linux 子系统,然后您将拥有大部分 linux 内容,例如vimnano

c:> bash
$: nano yourfile.txt
Run Code Online (Sandbox Code Playgroud)

  • 好的,刚刚在 google 上搜索了这个 - 好主意,但是安装整个 Linux 发行版来启用终端编辑器?这是一个延伸。不过还是可以尝试一下';) (3认同)
  • Linux子系统? W10现在也有这种事吗? (2认同)