找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 99302|回复: 24

[一日一教学](9)创建文件夹:md

[复制链接]
发表于 2009-2-13 00:03:27 | 显示全部楼层 |阅读模式
[一日一教学]批处理系列帖子索引 http://www.bathome.net/thread-2576-1-1.html

标题:一日一教学系列9_创建文件夹:md
首发地址:http://bbs.bathome.net/viewthread.php?tid=3319
首发日期:2009.2.13
更新日期:无

上一篇:重命名文件(夹):ren  http://bbs.bathome.net/viewthread.php?tid=3318
下一篇:删除文件夹:rd http://bbs.bathome.net/viewthread.php?tid=3340

  创建文件夹使用的是md命令,它的另一个写法为mkdir(由MakeDirectory演变而来),格式为:md 文件夹名,其中,文件夹名可以使用带路径的格式。例如:md d:\test,也可以用 md test 在当前路径下建立test文件夹。

  如果要创建的文件夹带有空格或&,需要用引号把文件夹名括起来,例如:md "test abc"、md "abc&xyz"。

  如果不使用引号,又会带来什么后果呢?

  测试的结果是:

  1、如果文件夹名带空格,那么,md test abc 语句会在当前目录下创建test和abc这两个文件夹;利用这个特点,我们有时候可以收到化繁为简的奇效:如果要创建abc def xyz这三个文件夹,直接使用 md abc def xyz 就行了,而无需连写三条md语句。当然,md abc;def;xyz或者md abc,def,xyz 这样的写法也是可以的。
  2、如果文件夹名中含有&,那么,md abc&xyz 会创建abc这个文件夹,并提示说:'xyz'不是内部或外部命令,也不是可运行的程序或批处理文件,这是因为,&是复合语句的连接符号,它把前后两部分视为两条子语句了。

  忠告:如果文件夹名含有特殊符号,请不要忘记使用双引号!

  md还有一个比较方便的功能:创建中级目录。也就是说,md a\b\c这样的命令,可以在当前目录下建立文件夹a,然后,在a下建立文件夹b,b之下再建立文件夹c,一气呵成,而无需先md a之后,再cd a,然后md b,再cd b,接着cd b,然后md c。

评分

参与人数 2技术 +2 收起 理由
lengyff + 1 乐于助人
Hello123World + 1 现在回过头来看,方明白nj的高明。

查看全部评分

发表于 2009-2-13 00:42:58 | 显示全部楼层

总结下,如下

  1. md  abdc dlasasd   asdlfjdasl     
复制代码

分别建立三个文件夹

md  a\b\c\d\e\f\g\g\i

意义不一样了。就是这样了
发表于 2009-2-13 00:58:50 | 显示全部楼层
跟两个创建9级随机目录的代码,加深大家的理解:
第一个是一级一级建立的,也就是按先建a再在a中建b再在b中建c...的方式来建立
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=abcdefghijklmnopqrstuvwxyz0123456789"
  3. for /l %%a in (1,1,9) do (
  4.     for /l %%b in (1,1,9) do (
  5.         set /a a=!random!%%36
  6.         call,set "var=!var!%%str:~!a!,1%%"
  7.     )
  8.     md !var!&cd !var!&set "var="
  9. )
复制代码
第二个是一次性创建,也就是按一次建立a\b\c\d\e\...这样的方式来建立
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=abcdefghijklmnopqrstuvwxyz0123456789"
  3. for /l %%a in (1,1,9) do (
  4.     for /l %%b in (1,1,9) do (
  5.         set /a a=!random!%%36
  6.         call,set "var=!var!%%str:~!a!,1%%"
  7.     )
  8.     set "var=!var!"
  9. )
  10. md %var:~,-1%
复制代码

[ 本帖最后由 batman 于 2009-2-13 01:29 编辑 ]
发表于 2009-2-13 01:13:33 | 显示全部楼层
md还有一个比较方便的功能:创建中级目录。也就是说,md a\b\c这样的命令

依稀记得这个特性是和操作系统有关的,手上有2000/98系统的朋友可以帮忙测试一下这个命令。
发表于 2009-2-13 19:38:00 | 显示全部楼层
问一下,我有个映射盘,里面有病毒,不知道名字,他的特点是两个文件 .vbs和autorun.inf,我用p删除并MD建立了带系统几种具有保护属性的autorun.inf文件夹,且在里面也建立了带点的文件夹,但这个病毒猖獗的给替换了,因此请教MD的厉害,可否让病毒能安静下来。难道这病毒还带删除autorun.inf功能吗
 楼主| 发表于 2009-2-13 20:10:51 | 显示全部楼层
  自从以点号结尾的文件夹的秘密被公开之后,很多病毒都已经开始防着这一手,能删除以点号结尾的文件夹的病毒渐渐多起来了。病毒与反病毒始终是道高一尺魔高一丈地此消彼长着,如果你经常碰到安全方面的问题,就应该多采取一些安防措施,而不应该仅仅依靠有限的几种手段。
发表于 2009-2-13 22:31:21 | 显示全部楼层

回复 5楼 的帖子

可以试试用cacls命令取消文件夹/文件的所有读写权限
发表于 2009-2-24 13:55:30 | 显示全部楼层
md可以创建多级目录,是不是只在2000\xp\2003及其后的操作系统中才能用啊
发表于 2009-3-13 23:45:45 | 显示全部楼层
可以在后面多加几个点如test.....\这样就不能被删了
发表于 2009-5-3 18:35:21 | 显示全部楼层
终于有个看懂了学会了的命令了
发表于 2009-5-3 18:38:20 | 显示全部楼层

回复 8楼 的帖子

以前的操作系统是不支持这样做的
不过现在还使用98以前的系统的人恐怕不多了吧
呵呵
发表于 2009-5-3 18:38:52 | 显示全部楼层

回复 9楼 的帖子

能建就能删,参考:批处理中畸形文件夹和畸形文件的创建、访问、删除
http://bbs.bathome.net/thread-3885-1-1.html
发表于 2009-6-12 08:19:20 | 显示全部楼层

md命令的另一种写法

md命令的另一种写法是 md\a\b\c
发表于 2009-8-9 14:11:52 | 显示全部楼层
遇到个怪怪的问题!
      当  E:\>md abc efg 时候,会创建abc和efg两个文件夹
但是,当  E:\>md E:\abc efg时候,只有abc一个文件夹阿!
发表于 2009-8-9 15:33:44 | 显示全部楼层
看是简单的md命令,没想到还有这么多技巧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:45 , Processed in 0.009925 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表