• DOS命令详细用法(转)


    set p=                     #取消p变量
    set /p p=请输入
    屏幕上显示”请输入”,并会将输入的字符串赋值给变量p
    注意这条可以用来取代 choice 命令
    注意变量在 if 和 for 的复合语句里是一次性全部替换的,如
    @echo off
    set p=aaa
    if %p%==aaa (
            echo %p%
            set p=bbb
            echo %p%
            )
    结果将显示
    aaa
    aaa
    因为在读取 if 语句时已经将所有 %p% 替换为aaa
    这里的”替换”,在 /? 帮助里就是指”扩充”、”环境变量扩充”
    可以启用”延缓环境变量扩充”,用 ! 来引用变量,即 !变量名!
    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
    set p=aaa
    if %p%==aaa (
            echo %p%
            set p=bbb
            echo !p!
            )
    ENDLOCAL
    结果将显示
    aaa
    bbb
    还有几个动态变量,运行 set 看不到
    %CD%                      #代表当前目录的字符串
    %DATE%                    #当前日期
    %TIME%                    #当前时间
    %RANDOM%                  #随机整数,介于0~32767
    %ERRORLEVEL%              #当前 ERRORLEVEL 值
    %CMDEXTVERSION%           #当前命令处理器扩展名版本号
    %CMDCMDLINE%              #调用命令处理器的原始命令行
    可以用echo命令查看每个变量值,如 echo %time%
    注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到
    32 start
    批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令
    33 call
    批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行
    有时有的应用程序用start调用出错的,也可以call调用
    34 choice (外部命令)
    选择命令
    让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……
    win98里是choice.com
    win2000pro里没有,可以从win98里拷过来
    win2003里是choice.exe
    choice /N /C y /T 5 /D y>nul
    延时5秒
    35 assoc 和 ftype
    文件关联
    assoc 设置'文件扩展名'关联,关联到'文件类型'
    ftype 设置'文件类型'关联,关联到'执行程序和参数'
    当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开
    而是先判断.txt属于 txtfile '文件类型'
    再调用 txtfile 关联的命令行 txtfile=%SystemRoot%system32NOTEPAD.EXE %1
    可以在”文件夹选项”→”文件类型”里修改这2种关联
    assoc               #显示所有'文件扩展名'关联
    assoc .txt          #显示.txt代表的'文件类型',结果显示 .txt=txtfile
    assoc .doc          #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8
    assoc .exe          #显示.exe代表的'文件类型',结果显示 .exe=exefile
    ftype               #显示所有'文件类型'关联
    ftype exefile       #显示exefile类型关联的命令行,结果显示 exefile=”%1″ %*
    assoc .txt=Word.Document.8
    设置.txt为word类型的文档,可以看到.txt文件的图标都变了
    assoc .txt=txtfile
    恢复.txt的正确关联
    ftype exefile=”%1″ %*
    恢复 exefile 的正确关联
    如果该关联已经被破坏,可以运行 command.com ,再输入这条命令
    36 pushd 和 popd
    切换当前目录
    @echo off
    c: & cd & md mp3           #在 C: 建立 mp3 文件夹
    md d:mp4                   #在 D: 建立 mp4 文件夹
    cd /d d:mp4                #更改当前目录为 d:mp4
    pushd c:mp3                #保存当前目录,并切换当前目录为 c:mp3
    popd                        #恢复当前目录为刚才保存的 d:mp4
    37 for
    循环命令
    这个比较复杂,请对照 for/? 来看
    for %%i in (c: d: e: f:) do echo %%i
    依次调用小括号里的每个字符串,执行 do 后面的命令
    注意%%i,在批处理中 for 语句调用参数用2个%
    默认的字符串分隔符是”空格键”,”Tab键”,”回车键”
    for %%i in (*.txt) do find “abc” %%i
    对当前目录里所有的txt文件执行 find 命令
    for /r . %%i in (*.txt) do find “abc” %%i
    在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行
    for /r . %%i in (.) do echo %%~pni
    显示当前目录名和所有子目录名,包括路径,不包括盘符
    for /r d:mp3 %%i in (*.mp3) do echo %%i>>d:mp3.txt
    把 d:mp3 及其子目录里的mp3文件的文件名都存到 d:mp3.txt 里去
    for /l %%i in (2,1,8) do echo %%i
    生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1
    for /f %%i in ('set') do echo %%i
    对 set 命令的输出结果循环调用,每行一个
    for /f “eol=P” %%i in ('set') do echo %%i
    取 set 命令的输出结果,忽略以 P 开头的那几行
    for /f %%i in (d:mp3.txt) do echo %%i
    显示 d:mp3.txt 里的每个文件名,每行一个,不支持带空格的名称
    for /f “delims=” %%i in (d:mp3.txt) do echo %%i
    显示 d:mp3.txt 里的每个文件名,每行一个,支持带空格的名称
    for /f “skip=5 tokens=4″ %%a in ('dir') do echo %%a
    对 dir 命令的结果,跳过前面5行,余下的每行取第4列
    每列之间的分隔符为默认的”空格”
    可以注意到 dir 命令输出的前5行是没有文件名的
    for /f “tokens=1,2,3 delims=- ” %%a in ('date /t') do (
            echo %%a
            echo %%b
            echo %%c
            )
    对 date /t 的输出结果,每行取1、2、3列
    第一列对应指定的 %%a ,后面的 %%b 和 %%c 是派生出来的,对应其它列
    分隔符指定为 – 和”空格”,注意 delims=- 后面有个”空格”
    其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的
    for /f “tokens=2* delims=- ” %%a in ('date /t') do echo %%b
    取第2列给 %%a ,其后的列都给 %%b
    38 subst (外部命令)
    映射磁盘。
    subst z: serverd         #这样输入z:就可以访问serverd了
    subst z: /d                 #取消该映射
    subst                       #显示目前所有的映时
    39      xcopy (外部命令)
    文件拷贝
    xcopy d:mp3 e:mp3 /s/e/i/y
    复制 d:mp3 文件夹、所有子文件夹和文件到 e: ,覆盖已有文件
    加 /i 表示如果 e: 没有 mp3 文件夹就自动新建一个,否则会有询问

    © 如转载文章,请务必注明:转载自:指南者
    原文地址: http://www.amznz.com/dos-mingling/
    版权所有!转载时请必须遵守链接出处-完整共享,否则请勿转载!


    分享到:
    更多


  • 世界十大禁片 - 302,844 次阅读
  • 不用登录QQ查看好友资料 - 155,593 次阅读
  • 在哪个网站能找一夜情? - 148,933 次阅读
  • 手把手教你成为一个牛逼的Blogger - 127,098 次阅读
  • 江苏省英语三级四六级查询 - 122,812 次阅读
  • 最新搜索引擎收录地址大全 - 120,340 次阅读
  • 局域网中加速启动速度 - 119,606 次阅读
  • 致所有来访者(12年1月03日更新) - 115,570 次阅读