如何减轻命令提示符的痛苦


38

我想学习在Windows上更好地使用命令提示符,以便更好地控制我所做的事情,并且仅仅是为了获得学习经验。我现在主要的烦恼是所有打字。如果要对路径较大的文件执行操作,请坐在那里至少键入一分钟,如果输入有误,则必须按向上箭头键并滚动浏览整个内容,然后查找我做错了。有没有什么工具可以简化这一过程?


我希望Windows命令提示符具有bash的“ -o vi”选项。它使事情变得非常快(当您当然了解vi的时候)
OscarRyz 2009年

2
制表符完成!任何体面的终端都将拥有它(如果没有,我会质疑您所坐终端的功能)。
new123456 2011年

特别是如果您正在学习,请学习PowerShell。对于老屁,学习新技巧可能很困难。但是对于初学者而言,最好早日获得此建议,以便从一开始就引导您的学习精力沿着最佳途径。
music2myear2011年

Answers:


33

如果打算仅在Windows下使用命令提示符,则可以使用Windows PowerShell,因为它比初始命令提示符更易于使用,并且可以从类似* nix的终端复制行为。(它还提供了许多功能,但起初,至少对我来说,这是一个“更简单的命令外壳”)。

Powershell的图片

编辑:更改图片为更“友好”的。


通过Wikipedia的外观,图片看起来比即时通讯所使用的要难一些。我仍然在努力学习Windows,更不用说这些* nix终端之一了,但是我会感谢的。

3
是的,在这种情况下,它可能并没有真正适应。对我来说,就像我以前知道的* nix终端一样,这个powershell帮了我大忙,因为它还为常用的* nix命令提供了很多别名(快捷方式)。通常,“ ls”的工作方式类似于“ dir”。总的来说,我认为,与原始外壳程序相比,“制表符完成”也更加一致,这使得导航更加容易。
Gnoupi

1
PowerShell确实是必经之路。作为cmd.exe的长期用户,我可以告诉您它确实很有限。一旦您想做任何聪明的事情,您最终将需要VBScript或类似的东西,因此您必须学习。每个命令都有自己的语法,而且很少有相似之处,因此您必须学习每个命令并且不容易猜测。PowerShell功能更强大,更一致,因此您可以将从一个命令中学到的知识应用到另一个命令中。
serialhobbyist's

另外,某些PoSh命令具有与cmd命令相同的别名,以使转换更容易。例如,dir的工作原理(别名为Get-ChildItem)。但是,在PowerShell中,您也可以将注册表等内容保存在目录中。
serialhobbyist's

1
此外,PowerShell具有更好的(IMO)帮助文本。有人告诉过您阅读cmdpages吗?
Hello71

45

您可以使用该Tab键自动完成文件名。尽管切记,您必须首先键入足够的文件名才能唯一地标识它,否则您将不得不在不正确的匹配项之间进行重新排序。例如,您有一个包含这些文件的文件夹,它是您当前所在的目录cmd

。
..
可执行文件
Sup.txt
超级用户

如果要自动完成SuperUser.COM,则必须键入,supe然后按Tab,因为其他文件都不以这4个字符开头。请注意,如果您键入su然后按Tab,则可以再按Tab两次以进入SuperUser.COM,也可以键入ShiftTab以向后浏览列表并到达那里。

另一个技巧是,如果文件位于浏览器窗口中,则可以将其拖到cmd窗口中,它将为您键入名称。


2
很好,谢谢,但是当我浏览文件时,有时我越过了我,是否有回退的方法?

14
是的,shift-tab :)
John T

2
奖金的事实:shift+ <any key that cycles through tabs/windows>永远等价于反转如alt-tab- > alt-shift-tab
glenneroo 2011年

27

这里是使用命令提示符的更多提示和技巧,包括:

“ ...将文件或文件夹从资源管理器窗口拖放到命令提示符;这将插入引用的路径,就像您手动粘贴了该路径一样。”

这是减少长文件路径中涉及的键入量的另一种方法。


3
现在,这很有用。我一点都不知道。
EvilChookie

1
在我的原始答案中已经有该内容了:P
约翰T 2009年

这在Windows Vista或Server 2008中不起作用,但在Windows 7和Windows Server 2008 R2中再次起作用。有关一些详细信息,请参见superuser.com/questions/27347/what-is-conhost-exe/28897#28897
Reuben

其他建议有很好的,以及
Casebash

21

这是功能键动作的完整列表

F1 retypes the previous command one character at a time
F2 brings up a dialog and asks “Enter the char to copy up to:”
F3 retypes the last command in full
F4 brings up a dialog and asks “Enter char to delete up to:”
F5 as for F3
F6 Print EOF character (Ctrl+Z)
F7 brings up a dialog of all the recent command history
F8 brings up each of the most recent commands, one at a time
F9 brings up a dialog and asks “Enter command number:”

2
有没有人让F4上班?对话框出现,但不会删除。
Charles Beattie

15

F7将列出最后执行的命令。

cd \ 返回c:目录。


2
嗯,不知道。
Gnoupi

凉!(这就是我要说的,但答复必须是15个字符长...)
Traveling Tech Guy

我一直在使用命令提示符,但我不知道那个F7-非常方便!
贾斯汀

8

通常,您可以通过输入正确的目录来减少键入的内容。通过在文件夹类型关联中添加cmd.exe,可以在“资源管理器”窗口中看到的目录中打开命令外壳。

(工具-文件夹选项-文件类型-文件夹-高级-新建-cmd)

然后,当通过右键单击该文件夹选择cmd时,打开的命令窗口将以其所在目录作为当前目录。

替代文字


1
对于XP用户,MS Power Toys for XP也将为您提供此功能:microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx
akf

我知道有各种各样的小部件可以为您完成此任务,但是我始终喜欢一种可以代替小部件的自我配置。感谢您提供此信息。
music2myear2011年

7

如果Windows PowerShell太强大了,那么还有一些cmd替换shell:

可以通过Google找到更多信息。


cygwin +1:使用该工具集意味着您学到的技巧可以移植到Linux安装中,并且一定程度上可以移植到其他存在相同或相似工具以及类似bash-a-shell的OS(BSD,MacOS等)。尽管如果powershell势不可挡,那么cygwin可能也是。
David Spillett

控制台的+1,它不是替代外壳,而是现有外壳的更好终端。
wfaulk

Cygwin +1,但是仿真器太糟糕了。在这种情况下,建议使用Terminator + Cygwin。
jamesh

我是TCC的忠实拥护者(从1989年开始,它就是4DOS)。我非常喜欢PowerShell。现在TCC / LE是免费软件,我可以发送安装了TCC的.BTM脚本了:-)请注意,PowerCMD和控制台不是替换命令处理器,而是替换终端。就个人而言,我使用带有多个选项卡的控制台,每个选项卡包含一个TCC(或Cmd或Cygwin)会话。
billdehaan 2010年

andlinux.org andLinux比Cygwin更友好。

7

在使用命令提示符时,我经常使用的是向上箭头(和向下箭头)以滚动浏览最近使用的命令。尤其是当我输入了一个长命令并且只希望编辑其中的一部分而不重新键入命令时。

一个简短的例子,如果您:

c:\>ping 192.168.1.1

然后要ping其他类似的地址,只需按向上箭头。该命令将显示在提示符处,光标位于末尾。这样可以轻松地退格一次并将地址更改为192.168.1.2或类似名称。


4

我建议您使用命令提示符。

我知道,这看起来很滑稽,但这是很严重的建议,即使不是立即有用的。有很多要知道的知识,要深入吸收它,您必须一遍又一遍地使用它。


9
是的,他想要,但是我想他想知道自己能做什么。因为“强制执行”,所以可用的命令可能需要一些时间。
Gnoupi

我通过编写一个雄心勃勃的系统部署批处理脚本来学习命令提示符。我试图结合所有我能想到的功能,这将有益于所需的任务,只需在论坛上和我认识的其他功能中不断提问,直到它起作用为止。1500行和很多很好的经验,我仍然使用。
music2myear2011年

@ music2myear您今年28岁,足够大。您去哪儿都没学过DOS?
barlop 2011年

我父亲10岁时买了第一台计算机,我猜是DOS 4,是Win 3.1。我只对绘画应用程序以及它可以玩的游戏感兴趣。直到98年,我才有了自己的计算机来学习工程学。直到该系统开始出现问题,而且我必须自己修复它才真正涉足技术和计算机。在2003年,我得到了一份IT支持工作,并构建了前面提到的批处理脚本。从极客的角度来看,我只是一个初学者。
music2myear11年

4

启用快速编辑模式以:

  • 复制文字的方式:选择文字+ ENTER
  • 通过右键单击粘贴代码。

在此处输入图片说明

我还将字体和布局更改为比默认位图更令人愉快的内容。

在此处输入图片说明

最后,在编辑窗口中添加更多行和列,并在缓冲区中添加更多行。

在此处输入图片说明

屏幕截图是西班牙语,但它们在英语中完全相同


1
更改控制台窗口的宽度是我在新计算机上要做的第一件事。
贾斯汀2009年

+1默认高度同样没有用。
glenneroo 2011年

2

绝对要获取Cygwin的副本,并将其\ bin文件夹添加到PATH变量中。就像一个可用的命令提示符!

但是,实际上,习惯它的唯一方法就是习惯它,所以请使用它!


我很难在没有bash提示的情况下使用Windows
jweede 2010年

1

如果您使用的是XP(对Vista不了解),则可以下载一个Powertoy,它将在浏览器文件夹的上下文菜单中添加“此处打开命令窗口”菜单项。

我发现其他有用的方法是停止对所有内容使用Windows默认路径。它们太难记了,空间可能成为问题。使用更像linux目录结构的东西可以节省时间。我的目录看起来像这样(通过示例):

 - C:\usr\bin\firefox 
 - C:\usr\bin\7zip
 - C:\usr\bin\dropbox

 - C:\usr\lang\cpp\gcc
 - C:\usr\lang\cpp\lib\qt_4_5_0
 - C:\usr\lang\python\py25

 - C:\usr\home\wrksp\cpp
 - C:\usr\home\doc
 - C:\usr\home\wrksp\svn

更容易记住的方式。


5
Vista(至少是Ultimate Edition)默认情况下具有此功能,但对普通用户而言是隐藏的。只需按住shift键,然后在右侧“资源管理器”窗格中右键单击一个文件夹,您应该会看到“在此处打开命令窗口”。
GAThrawn

@GAThrawn,我有Vista Home Premium,并且我确认我也看到了此功能。
Shivasubramanian

“ C:\ usr \ bin \ 7zip”比“ c:\ Program Files \ 7zip”要快得多吗?就击键而言.. c:\ prog <tab> \ 7zip与c:\ usr \ bin \ 7zip也许程序文件可以更快速地到达?
barlop 2011年

1

我个人认为,如果您想学习使用命令提示符而又感到不愉快,则可能不需要使用命令提示符。

一旦需要使用CLI,您就会发现它很有用,甚至令人愉快。如果您要使用它来执行日常任务,那么您就要把头砸在墙上。

一旦熟悉了命令提示符,您就可以将日常任务迁移到那里,仅仅是因为它比总是触摸鼠标要容易:)


如此真实。必要性会滋生熟悉感。
J. Polfer 09年

1

利用环境变量。

例如,您无需输入c:\ documents and settings \ username,而只需使用%userprofile%。有关标准环境变量的列表,请键入SET,然后在命令提示符下按Enter。

此外,请熟悉可用的命令-我喜欢它们的两个站点: www.ss64.comwww.robvanderwoude.com

您还可以学习批处理脚本-使用该脚本,可以自动化常用任务。


1
  • 要使用键盘粘贴到命令窗口中,请按alt-space,e,p。
  • 要重复最后一个以字母“ d”开头的命令(例如,它可以是任何字符),请按d,然后按F8。

后面的技巧听起来有点晦涩难懂,但是当您在控制台中花费大量时间时,它比按几次向上箭头或F8更快,更容易。


1

此主题中发布了一些很棒的技巧!

在我看来,发布CMD替代品相当“离题”。但这似乎可以,所以我可以将ColorConsole添加到列表中。

标签界面常用命令菜单,复制/剪切和粘贴的确HTML输出是非常有用的功能,我不想再错过。

ps:在“必须具有Firefox插件”线程中尝试:小伙子们,请获得Opera,它内置了好东西Aready!:)



0

我同意使用powershell的建议。另外,我发现设置函数和别名以将常见任务减少为更少的键入字母非常有用。

例如,要启动http链接,请在我的powershell配置文件中进行设置:

function browse-url { param($url="http://www.google.com/"); (new-object -com shell.application).ShellExecute($url); }
set-alias -name "browse" -value "browse-url"

然后我只需键入browse以打开google或browse http://....打开特定链接

列出文件或目录的另一个示例:

function lsa { param($path="."); Get-ChildItem -Force $path }
set-alias -name "la" -value "lsa"
set-alias -name "ll" -value "lsa"
function lsd { param($path="."); lsa $path | ? { $_.PSIsContainer } }
function lsf { param($path="."); lsa $path | ? { !$_.PSIsContainer } }
function lat { param($path="."); lsa $path | sort -property lastwritetime -descending }
function latr { param($path="."); lsa $path | sort -property lastwritetime }
function fi { param($pat,$root="."); gci -r $root | ? {$_.Name -match $pat} | % { $_.FullName } }

然后,我lsa用来显示目录中的所有项目,包括隐藏的项目。使用lall作为更短的别名。

lsd只列出文件夹,只lsf列出文件,lat按上次写入时间排序,以及latr按相反方向按时间列出。
fi设置为unix find命令的简单替代,只是递归地查找文件名。


0

安装Windows资源管理器替换Xplorer2。它包括命令提示符工具,该命令提示符工具允许命令提示符的所有功能与Windows GUI一起使用,例如使用鼠标,右键单击以复制粘贴功能等。请查看下面的屏幕截图。

命令提示符截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.