Board logo

标题: [原创] cmd 中的快捷键 [打印本页]

作者: CrLf    时间: 2012-6-13 14:32     标题: cmd 中的快捷键

本帖最后由 CrLf 于 2012-6-22 17:42 编辑

---------------------------------------------------------------------------------------------------
【输入特殊字符】
Alt+小键盘数字
  1. 实际上不是 cmd 中的而是系统级的快捷键,将输入数字转为对应十进制内码的字符,数字上限与系统当前代码页内码范围相吻合
复制代码
Ctrl+A~Z
  1. 等效于 Alt+小键盘数字1~26,常用 Ctrl+C 中止当前命令的运行,以及用 Ctrl+Z 结束 con 输入(本质是映射一个文本结束符,需回车输入),有时也用 Ctrl+G 来输入蜂鸣符
复制代码
---------------------------------------------------------------------------------------------------
【Fn键】
F1
  1. 等效于 → 键
复制代码
F3
  1. 如果当前输入短于上一次输入,则将命令记录中最后一条命令的前端n个字符替换为当前已输入的字符,否则等效于 Page Down 键
复制代码
F5
  1. 等效于 ↑ 键
复制代码
F6
  1. 等效于 Ctrl+Z
复制代码
F7
  1. 从历史输入列表中选择,列表的格式类似于 doskey /h|findstr /n .
复制代码
Alt+F7
  1. 清除命令历史记录
复制代码
F8
  1. 搜索命令历史记录,在通过 F7 选择命令之后,使用 F8 效果类似于 ↑ 键,但抵达第一个记录时使用 F8 会指向最后一个记录
复制代码
F9
  1. 根据 F7 中的记录,输入数字编号提取相应的命令
复制代码
Alt+F10
  1. 清除宏定义,可以清空由 doskey 设置的宏定义
复制代码
其余 Fn 键具体作用不详
---------------------------------------------------------------------------------------------------
【功能键】
Esc
  1. 清除命令行
复制代码
Tab
  1. 选择当前目录下的某个文件或目录
复制代码
Shift+Tab
  1. 反向顺序选择当前目录下的某个文件或目录,如果 Tab 按过头可用 Shift+Tab 回退
复制代码
Backspace
  1. 删除光标前的一个字符
复制代码
Enter
  1. 运行当前命令
复制代码
Insert
  1. 在插入模式和覆盖模式之间切换
复制代码
Pause
  1. 类似于挂起 cmd 及其调用的外部命令进程,按任意键恢复运行
复制代码
Break
  1. 中止正在执行的命令,如果是外部命令则会中止进程,但不能暂停对句柄0进行句柄备份导致的无限循环
复制代码
Ctrl+Break
  1. 约等于 Ctrl+C 的作用
复制代码
---------------------------------------------------------------------------------------------------
【命令选取】
  1. 使用记录中的上一个命令为当前命令
复制代码
  1. 使用记录中的下一个命令为当前命令
复制代码
Page Up
  1. 使用记录中的第一个命令为当前命令
复制代码
Page Down
  1. 使用记录中的最后一个命令为当前命令
复制代码
---------------------------------------------------------------------------------------------------
【光标移动】
  1. 光标向前移动一个字符
复制代码
  1. 光标向后移动一个字符,若当前输入短于上一次输入,则每次按 → 都会逐字补充所缺部分直至等长
复制代码
Ctrl+←
  1. 以空格划分,光标向前移动到上一节头部
复制代码
Ctrl+→
  1. 以空格划分,光标向前移动到下一节最后一个字符前
复制代码
Home
  1. 光标移动到命令末尾处
复制代码
End
  1. 光标移动到命令末尾处
复制代码
---------------------------------------------------------------------------------------------------
感谢 cb02356828、weichenxiehou、qzwqzw、zqz0012005、neorobin (按时间顺序排列)等人提示与补充。
作者: 喃喃努努    时间: 2012-6-15 10:28

收藏了,谢谢楼主。慢慢记。
作者: garyng    时间: 2012-6-15 17:21

我火星了 我只会一些些 没想到Cmd有那么多快捷键啊
作者: cb02356828    时间: 2012-6-15 19:40

  1. F3 快速输入上一条命令
复制代码

作者: weichenxiehou    时间: 2012-6-16 12:05

实际操作过程中发现的更正与补充:
(1)F3并不能简单地等效为PageDown,它是将命令记录中最后一条命令的前端n个字符替换为当前已输入的字符,如前一条命令为“aaaaaaaaaaaaaa”,那么当你输入“bbbb”后按F3得到的是“bbbbaaaaaaaaaa”;
(2)→除了可以在已输入的命令字符中向右移动以外,如果光标到达末端后会自动将上一条命令相同位置的字符填出,一次一个字符,当然前提是上一条命令比现在已输入的字符串长。
最后膜拜一下楼主在批处理领域的造诣,版主为论坛做出的贡献大家有目共睹。
作者: qzwqzw    时间: 2012-6-16 18:22

Break
中止正在执行的命令,如果是外部命令则会中止进程,但不能暂停对句柄0进行句柄备份导致的无限循环

是说Ctrl + Break 吗?
作者: CrLf    时间: 2012-6-16 18:29

回复 6# qzwqzw


    经测试,Ctrl+Break 与 Break 确实有区别,如前者无法停止 ping -t bbs.bathome.net,但找不到其中的规律。
作者: qzwqzw    时间: 2012-6-19 14:46

回复 7# CrLf
确认你所说的是Break吗?
在我的键盘上它跟Pause是一个键
单独键击只有暂停的效果啊

Ctrl+Break不能终止ping -t倒是有趣的发现
有时间的话跟踪一下
作者: tang0991    时间: 2012-6-19 16:35

本帖最后由 tang0991 于 2012-6-19 16:36 编辑

还有好多其他我不知道的命令啊,不过一般我也用不到~

谢谢楼主整理了。
作者: CrLf    时间: 2012-6-19 19:03

回复 8# qzwqzw


    在我这确实是两个不同的键,老兄是笔记本?
作者: forfiles    时间: 2012-6-19 19:17

笔记本的话,Fn+Pause才是Break吧。
作者: lky216    时间: 2012-6-20 12:11

楼主是狼吗 啊呜~
作者: qzwqzw    时间: 2012-6-21 14:05

回复 10# CrLf

笔记本和台式机我都看了
Pause和Break都是一个键
就是在PaguUp上方的那个键

同一区域的三个键依次是
Prtsc SysRq
Scroll Lock
Pause Break
它们都是单个键
而且没有Shift上档的功能
在更老的键盘上
如Break等提示字是印在键的下方斜面上
而非指压平面上
不知道是不是你的键盘比较特殊

Ctrl-Break 和 Ctrl-C 略作跟踪
没有太多发现
只是大体了解了一下
它们都是事件驱动的方式
通过多线程来模拟早期DOS的中断

它们的执行效果是一致的
除了个别情况
比如start /b
比如ping
作者: neorobin    时间: 2012-6-21 15:48

本帖最后由 neorobin 于 2012-6-21 18:58 编辑

http://en.wikipedia.org/wiki/Tab ... mand_line_shortcuts

关于 BREAK 键 和 PAUSE 键:
在 wikipedia 上目前共用一个条目:
http://en.wikipedia.org/wiki/Break_key

艰苦地翻译了:

计算机键盘上的 BREAK 键的原型要追溯到电报业务. 标准的电报键有内建的刀开关可以被用来 短路 按键的接触.
当这个键不用时, 开关保持关闭, 信号可以持续发送.
当稳定状态信号被中断时, 它指示出两种可能之一:
不是操作员中止了开始传送, 就是什么别的事中断了连接--比如电报线路的物理中断.

当电传打字机使用后, 一个键被加入用来临时中断连线, 允许工作继续.
这个出现后, 接收传印机将激活但不打印字符, (反复的打印一个非打印字符 DEL). 打印的声音提示操作员注意.

分时系统计算机连接到 MODEM 后可以确认中断, 因为 接收的 DEL 字符有坏的奇偶校验位.
这被用来产生一个 中断, 允许登录, 或者停止运行的程序.

在 PC 上, BREAK 键可以被软件用于几种不同的方式, 比如在多个登录会话间切换, 终止程序, 或中断 MODEM 的连接.

在 BBC 微型机上, BREAK 键产生一个中断, 只是普通的引发一个热重启. 冷重启则是 Ctrl + Break.

如果安装了 DFS ROM, Shift + Break 将让计算机 搜索并加载 0 号驱动器中 软盘上的 名为 !boot 的文件.

后两种行为 被后来的 Acom MOS, RISC OS 继承.


在 Sinclair ZX80 和 ZX81 计算机上, BREAK 被处理成按 Space 键.
在 Sinclair ZX Spectrum 上, 则是按 Shift + Space.

Spectrum+ 和后来的计算机上, 有一个专用的 BREAK 键, 它并不触发一个中断, 而是终止所有正运行的 BASIC 程序.
或者终止磁带机上数据的加载或保存.

被中断的 BASIC 程序通常可以用 CONTINUE 命令恢复运行.

Sinclair QL 计算机, 没有 BREAK 键, 而是将功能映射到键组合 Ctrl + Space.

在许多现代 PC 上,  PAUSE 通过 BIOS 中断 屏幕输出 直到另一个键被按下.
这样在 文本模式引导期间 和 Windows 模拟的安全模式 50 行的 DOS 环境下 是有效的.

在早期的键盘上没有 PAUSE 键(在 101 键 键盘出现前),
PAUSE 的功能被赋予给 组合键 Ctrl + NumLock,
Break 功能被赋予给 组合键 Ctrl + ScrLock,
这些组合键 在 大多数程序中 仍可以工作, 甚至是在安装有现代键盘的现代 PC 上.

在 101 键 键盘上, 按下 专用的 PAUSE 键
与 先按住 Ctrl, 再按下 NumLock, 然后再以相反的次序放开它们 的操作,
是发送 同样 的 扫描码.

另外, 一个 十六进制的 e1 前缀也会发送出, 以使 101 键敏感软件可以识别出这两种状况, 但老的软件通常会忽略这个前缀.


PAUSE 键不同于其它所有的按键, 因为它在被放开时不发送扫描码.
因此, 任何软件都不可能确定这个键是否被按住不放.

在现代键盘上, BREAK 键常被标印在 PAUSE 键标印的下面而作为同一个按键, 有时被一条线分开,
或者 PAUSE 标印在键面的顶面, 而 BREAK 标印在键面的前脸面.

在大多数 Windows 环境下, Win + Pause 打开系统属性界面.

紧凑型的 和 笔记本的 键盘常用 一个 Pause/Break 键 来映射功能命令.



中断程序运行的用法

当 Ctrl + Break 和 Ctrl + C 组合都共同地作为 中断 控制台应用程序 的一种方式时, 它们都用于 IDE 环境中的类似效果.

尽管这两种方式常被认为是等同的, 但编译器和运行环境通常赋予不同的信号给它们.

另外, 在一些内核下(例如: 混杂的 DOS 变体),
当 Ctrl + C 是缓存中唯一的键序列, 并且仅当 操作系统 尝试从 键盘缓存中读取时, Ctrl + C 才会被检测到.

而 Ctrl + Break 则立即被解译(例如: DOS 下的 1BH 中断).

正因此, 在这些操作系统中, Ctrl + Break 通常是一个更有效的选择.

用 CONFIG.SYS 文件中的 BREAK=ON 语句可以将这两种组合的差异敏感性增强.
作者: bhutan    时间: 2012-7-2 17:23

shift+tab  这个太关键了,以前不知道,翻过头了,只好重新再来一遍
作者: pinke8    时间: 2012-7-11 11:07

很好很强大的啊,楼主用心了,好资料这个
作者: lion991128    时间: 2013-1-23 14:31

怎么用????
作者: 依山居    时间: 2015-10-22 14:59

没有Ctrl I
作者: 依山居    时间: 2015-10-22 15:16

Shift+Tab
似乎等效 ctrl + I
作者: CrLf    时间: 2015-10-22 20:35

回复 19# 依山居


    是等效于 Tab
    因为 I 是第 9 个字母,所以 Ctrl+I 等于按下排行第 9 的 ascii 字符,要按下 Ctrl+Shift+I 才相当于 Shift+Tab




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2