把文件和目录拖进命令行提示符

突然想起一个小tip,文件和目录可以直接拖到命令行提示符里,效果相当于复制文件的绝对地址并粘贴到命令行提示符。这个小tip好像很多地方都有讲到,不过一直记不住。其实这个功能是非常好用的,需要在DOS窗口定位到某个文件夹时可以先切换下盘符,再打"cd "然后把文件夹拖进去回车。当然也可以先cd再换盘符。如果是运行某个程序也可以直接拖进去回车即可,连换目录都省了。假如新下载了一个DOS小程序,解压后直接把程序拖进DOS窗口,然后在后面加上参数,回车就可以执行,真是方便。

如果要写个小程序,比如处理一下txt文件什么的,也不用弄成图形界面的了,点浏览找出文件还麻烦呢,直接写成DOS小程序,用文件路径做参数,用的时候拖程序进来,空格,再拖要处理的文件,好方便啊。又或者直接把要处理的文件拖到程序上,也可以直接执行,不过记得程序的最后执行一次PAUSE命令以便用户能有时间看程序的输出信息。比如平时想看一下某个文件的扩展名,一般的做法是点右键->属性->更改,这样就可以看到整个文件名.扩展名,又或者到文件夹选项取消选择“隐藏已知文件扩展名”,不过看完还要改回来。现在只要写个小bat放在快速启动栏,想看哪个文件时拖进去就可以了。

@echo %1
@pause

另外,如果路径中包含空格的话,Windows会自动在路径两端加上双引号,微软也还算贴心,嘻嘻。

Update:试了一下,发现文件和目录也可以拖到启动对话框里。输入一个命令,比如winword,再把要打开的文件直接拖进启动对话框,回车即可。这样用word打开一个txt文件很方便。和命令提示符一样,如果路径中包含空格,Windows会自动在路径两端加上双引号。比命令提示符更好的是,Windows会自动在命令和路径间加上空格。这样的话,如果要用程序处理一个文件的话,按Win+R,拖程序进来,再拖要处理的文件,回车即可。

我想试试看能不能运行cmd后直接进某个目录,用cmd加路径试了下,无效。到网上查了一下,很多文章介绍了通过修改注册表使目录的右键菜单增加一项“DOS提示符”,点击即可进入命令提示符并切换到当前目录。文章里说的都是添加"cmd.exe /K CD %1",我又下载了Windows优化大师试了下,他也是通过添加这个命令来实现右键进DOS的。不过很遗憾的是,将这个命令写入右键菜单是可以用的,因为这时候盘符已经自动设置为目录所在的盘符了。如果在启动框里用这条命令,由于盘符并没有自动切换,当目录不在C盘时还有在命令提示符里手工切换一下盘符。综合起来,还不如直接cmd然后打"cd "拖目录呢。

还有一个小tip是在命令提示符下,按Tab键可以切换显示当前目录的所有目录和文件,而且隐藏文件和系统文件也能显示出来。如果要进入某个名称比较长的目录或者名称为中文的目录,打个"cd "再按Tab键找到这个目录回车即可。万一多按了个Tab过了你要找的目录也没关系,按Shift+Tab即可反向切换。

本文共有 4 条评论把文件和目录拖进命令行提示符


  1. 1 J

    请教右边的侧边栏是用Widgets做出来还是自己写的代码?如果是widget,是哪个呢?谢谢

  2. 2 Dre.J

    群里找不到你……
    head img的 Yskin's Blog 那里有些乱
    前后的区别要再大一些
    不过我个人不觉得这里有做这种效果的必要
    也没有别的什么地方与这个效果形成对应
    有点像是为了做这个效果而做这个效果
    而不是需要这个效果而做这个效果

  3. 3 匿名

    "cmd.exe /K CD %1"
    請你改為
    cmd.exe /K CD /d "%1"
    或請參考
    http://tw.myblog.yahoo.com/c9993/article?mid=1095&prev=1097&next=1094
    祝好運

  4. 4 yskin

    嗯,谢谢。学DOS那么多年,还真不知道cd有这么一个"/d"参数。

    引用一下Windows XP里"cd /?"的内容:

    使用 /D 命令行开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。

    CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个带有空格但不带有引号的子目录名。

    所以,使用cmd.exe /K CD /d %1即可。

请留下您的评论: