精华内容
下载资源
问答
  • Windows 命令行

    2021-01-06 11:47:37
    Windows命令行 echo 显示内容 echo 内容 (类似log) echo on/off 打开/关闭回写 @echo off 内容 pause (写pause时才进行输出) 2.cd 进入目录 cd 内容 (path路径,进入到对应的文件夹下面,如果不是当前盘符,需要先...

    Windows命令行

    1.echo 显示内容
    echo 内容 (类似log)
    echo on/off 打开/关闭回写
    @echo off 内容 pause (写pause时才进行输出)

    2.cd 进入目录
    cd 内容 (path路径,进入到对应的文件夹下面,如果不是当前盘符,需要先执行 盘符:(e:))
    cd … 进入父目录
    cd \ 返回根目录
    cd e: (显示之前盘符所在目录)
    e: (盘符: 表示进入某个盘(记录上次进入这个盘的目录,直接进入到对应目录)) 直接进入e盘根目录 cd /d d:

    3.dir 显示目录中的内容
    dir (显示当前目录中子文件夹和文件 (包含创建时间、大小、文件夹与文件的文件名称) )
    dir /b (只显示当前目录中的子文件夹与文件的文件名)
    dir /p (分页显示当前目录中的子文件夹与文件)
    dir /ad (显示当前目录中的子文件夹(只显示文件夹,不显示文件))
    dir /a-d (显示当前目录中的文件(只显示文件,不显示文件夹))
    dir ttt.txt (显示ttt.txt文件的信息)
    dir 文件夹(也可以包含目录文件夹,显示该文件夹下面子文件夹和文件 包含文件信息 (并没有进入到这个文件夹路径))

    4.tree 显示目录结构
    tree 路径(显示对应文件夹里面的目录结构)

    5.ren ttt.txt 测试.txt (将当前目录下的ttt.txt改名为测试.txt)
    ren 测试 测试01 (直接改对应目录下面的文件夹名)

    6.md (创建文件夹)
    md 文件夹名 (将在当前目录中创建文件夹)
    md e:\work\测试 (直接在对应目录创建文件夹)
    cd.>测试.txt (将在当前目录中创建txt文件)
    echo 你好>c.txt (创建txt并写入文字)

    7.rd (删除文件夹)
    rd 文件夹名 (将在当前目录中删除文件夹)
    rd e:\work\测试 (直接在对应目录删除文件夹)
    rd 测试 /s /q (删除当前目录中的文件夹,包括子文件夹和子文件 /s表示删除子文件夹与子文件 /q表示不需要删除请求,安静模式)
    del /p ttt.txt (删除每一个文件之前提示确认)
    del /f ttt.txt(强制删除只读文件)
    del /s ttt.txt(删除所有子目录中的指定的文件)
    del /a ttt.txt(根据属性选择要删除的文件)
    del /f/s/q ttt.txt(删除文件,并进行提示)

    8.copy 拷贝文件
    copy 测试.txt e:\ (将测试文件拷贝到e盘目录下)
    copy 测试.txt 路径+文件名 (例:copy 测试.txt e:\测试\test.txt)(将文件拷贝到对应路径下,并且重命名)
    copy /y 测试.txt 路径+文件名 (不需要询问是否覆盖)
    copy /y 文件夹 e:(拷贝文件夹下面的所有文件到对应目录,不包括子文件夹,使用xcopy可以更方便 直接在后面加上/s)
    copy 测试.txt+ (重新复制一个自己,实际只修改了文件日期)
    copy 测试1.txt+测试2.txt 新.txt (将当前目录下的测试1和测试2合并写入新的.txt)

    9.xcopy 更强大的复制命令
    xcopy 文件夹路径 目标文件夹 (将文件夹路面的所有内容拷贝到目标文件夹里面 直接指定不包含子目录)
    xopy 文件夹路径 目标文件夹 /s (将文件夹路面的所有内容靠背到目录文件夹路面,包含子目录(但我的电脑测试的是不包含子目))
    xcopy 文件夹路径 目标文件夹 /d: 月-日-年 /s /y (将文件夹路面的超过这个日期的的文件全部拷贝到目标文件夹里面,包含子目录(但我的电脑测试的是不包含子目))

    10.move 移动文件
    move 测试.txt e:\ /y (移动测试到e盘)
    move *.txt e:\ /y (移动所有后缀为txt到e盘) 例:move MyFo*.txt e:\Test (当目标文件夹为空时,就不能移动成功)
    move 测试文件夹 e:\new (移动文件夹到new 文件夹,如果存在new文件夹,直接移动到该目录下,如果不存在,则将移动的文件夹移动到对应目录后把根目录文件夹改名为new)

    11.del 删除文件 不会删除文件夹及子文件夹
    del 文件夹 /q(删除当前目录下的文件夹中所有非只读文件,子目录下的文件不删除,并且还会进行删除前确认 == del/f new*)
    del /f 文件夹 (含只读文件,子文件夹下的文件不删除,并且还会进行删除前确认 ==del/f new*)
    del /f/s/q 文件夹 (含资质文件,含子文件夹下的文件)
    del /a-r . 文件夹(删除当前文件夹下所有只读文件)
    del /a-s . 文件夹(删除当前文件夹下除系统文件以外的所有文件)

    12.replace 替換文件
    replace 测试.txt e:\文件夹 (使用测试.txt 去替换e盘下面q文件夹下面的测试2.txt)

    13.bat窗口

    数字-颜色 数字-颜色
    0=黑色 8=灰色
    1=蓝色 9=浅蓝色
    2=绿色 A=淡绿色
    3=浅绿色 B=淡浅绿色
    4=红色 C=淡红色
    5=紫色 D=淡紫色
    6=黄色 E=淡黄色
    7=白色 F=黄白色

    – 下面这个标题可能是乱码,另存为 ANSI 格式就好

    [
    @echo off
    title 测试bat
    color 03 (16进制 0背景颜色黑色 1字体颜色)
    mode con cols=50 lines=100
    pause
    ]

    14.文件写入内容

    [
    @echo off
    title 测试bat
    color 03
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    echo bat测试命令00 >测试2.txt ( >> 直接写入到原来的尾部) ( > 表示覆盖写入 )
    pause
    ]

    15.type 显示文本内容

    [
    @echo off
    title 测试bat
    color 03
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    type 测试2.txt
    pause
    ]

    16.find 文件中搜索字符 (findstr)

    [
    @echo off
    title 测试bat
    color 03
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    find /n “测试” 测试2.txt ( (注:只可以一次输入一个) /n 显示行数 /i 搜索字符串忽略大小写 /v 显示所有未包含指定字符串的行 /c 仅显示包含字符串的行数)
    pause
    ]

    17.参数 %1-%9

    [
    @echo off
    title 测试bat
    color 03
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    echo %1% >> 测试2.txt ( >> 直接写入到原来的尾部) ( > 表示覆盖写入 )
    pause
    ]

    使用 cmd 窗口 输入路径中test.bat文件名称test 写入参数 按下回车

    18.rem注释

    19.if 语句 goto 语句
    if “%1” == “qwer” (“参数”==“参数”)
    goto 名称 (查找是根据: 名称 进行匹配)

    [
    @echo off
    title 测试bat
    color 04
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    rem echo %1% >> 测试2.txt
    if “%1” == “qwer” goto A
    echo 参数不等于qwer
    pause
    exit
    :A
    echo 参数等于QWER
    pause
    ]

    (注意1. 括号所在位置 2.括号与关键字中间的空格)

    if “%1” “qwer” 正常的字符串判断
    if {%1}
    {} 判断是否有参数

    [判断是否有参数
    @echo off
    if {%1}=={} goto A
    :A
    echo 没有参数
    pause
    ]

    [ 判断是否存在桌面文件学习笔记.txt
    @echo off
    if exist 学习笔记.txt goto A
    echo 不存在
    pause
    exit
    :A
    echo 存在
    pause
    ]

    if else 语句

    [
    @echo off
    title 测试bat
    color 04
    mode con cols=80 lines=50
    d:
    cd d:\NewFo
    if “%1” == “qwer” (
    echo 包含"qwer"
    echo 1111
    )else (
    echo 不包含"qwer"
    )
    pause
    ]

    20.exit 退出

    21.call 命令,调用其他的.bat .cmd
    call test

    [
    @echo off
    echo 调用test
    call test
    pause
    ]

    22.start 启动一个程序

    [
    @echo off
    echo 调用test
    start ““D:\Photoshop.exe””
    pause
    ]

    23.choice

    [
    @echo off
    choice /c ync /m “确认Y,否N,取消C.” (/m代表显示的信息)
    if errorlevel 3 goto C
    if errorlevel 2 goto N
    if errorlevel 1 goto Y

    :Y
    echo 确认
    goto C
    :N
    echo 否
    goto C
    :C
    echo 取消
    pause
    ]

    24.for
    cmd窗口里:for %i in (command1) do command2 (引用变量为%i)
    在bat中:for %%i in (command1) do command2 (引用变量为%%i)

    在 command1 命令里面切分元素的时候,使用空格,逗号,等号作为分隔符

    实例1:
    cmd窗口里: for %i in (abc) do echo %i
    在bat中:for %%i (a b c) do echo %%i

    /L 开关控制循环次数
    for /L %i in(start,step,end) do command2 (start开始的i,step递增值(如果为正递增,如果为负递减),end结束值)
    示例2:
    for /L %i in (1,2,10) do echo %i

    /F delims=; (每一行以;符号为分割)
    for /F “delims=;” %i in (学习笔记.txt) do echo %i
    for /F "tokens=1,2 delims= " %i in (学习笔记.txt) do echo %i %j

    tokens=2 代表取每一行的第几列 tokens=1,2 (取第一列和第二列 tokens=* (取全部))
    for /F "tokens=1,2 delims= " %i in (学习笔记.txt) do echo %i %j
    (bat:for /F "tokens=1,2 delims= " %%i in (学习笔记.txt) do echo %%i %%j)
    for /F "tokens=* delims= " %i in (学习笔记.txt) do echo %i (取得全部以这个符号分割的字符)

    eol 忽略以什么字符开头那一行
    for /F "eol=e skip=2 tokens=* delims= " %i in (学习笔记.txt) do echo %i

    usebackq (反转) ''表示command命令 ""表示string字符串
    for /f "usebackq tokens=2 delims= " %i in (‘学习笔记.txt’) do echo %i (没有任何的输出)
    for /f "usebackq tokens=2 delims= " %i in (“学习笔记.txt”) do echo %i (测试是全部输出)

    25.date time
    2021/01/11 周一
    %date:~0,4% 年
    %date:~5,2% 月
    %date:~8,2% 日

    echo %date:~0,4%

    10:26:21.16
    %time:~0,2% 时
    %time:~3,2% 分
    %time:~6,2% 秒

    echo %time:~0,2%

    26.set 赋值 %变量%取值

    [–bat中
    @echo off
    set t=%date:~0,4%
    echo %t%
    pause
    ]

    27.字符串操作

    %time:~0,2% --字符串截取

    替换
    [–bat中 字符串替换
    @echo off
    set t=“siki学院牛!”
    echo 替换前:%t%
    echo 替换后:%t:牛!=超级牛逼%
    pause
    ]

    [–bat中 字符串替换
    @echo off
    set t=siki学院牛!
    echo 替换前:%t%
    echo 替换后:%t:牛=超级牛逼%
    echo t =%t%
    set t=%t:牛=超级牛逼%
    echo t =%t%
    pause
    ]

    拼接
    [–bat中 字符串拼接
    @echo off
    set t1=siki学院牛!
    set t2=牛逼!
    echo t1t2=%t1%%t2%
    echo t1=%t1%
    echo t2=%t2%
    set t1=%t1%%t2% --拼接
    echo t1=%t1%
    pause
    ]

    扩充 C:\Users\win10\Desktop\学习笔记.txt
    ~1 - 删除任何引号("),扩充 %1 --这个是数字1不是字母I
      %~f1 - 将 %1 扩充到一个完全合格的路径名
      %~d1 - 仅将 %1 扩充到一个驱动器号
      %~p1 - 仅将 %1 扩充到一个路径
      %~n1 - 仅将 %1 扩充到一个文件名
      %~x1 - 仅将 %1 扩充到一个文件扩展名
      %~s1 - 扩充的路径只含有短名
      %~a1 - 将 %1 扩充到文件的文件属性
      %~t1 - 将 %1 扩充到文件的日期/时间
      %~z1 - 将 %1 扩充到文件的大小
      %~PATH:1        :        PATH:1 - 查找列在路径环境变量的目录,并将 %1 扩充   到找到的第一个完全合格的名称。如果环境变量名   未被定义,或者没有找到文件,此组合键会扩充到   空字符串   可以组合修饰符来得到多重结果:   %~dpI - 仅将 %1 扩充到一个驱动器号和路径   %~nxI - 仅将 %1 扩充到一个文件名和扩展名   %~fsI - 仅将 %1 扩充到一个带有短名的完整路径名   %~dpPATH:1 - 查找列在路径环境变量的目录,并将 %1 扩充
      到找到的第一个驱动器号和路径。
      %~ftzaI - 将 %1 扩充到类似输出线路的 DIR

    echo %~nx1 (文件加扩展名)
    echo %~pd1 (路径)

    [–bat中 上面的符号是可以组合起来用
    @echo off
    echo %~nx1 --扩充到一个文件及扩展名
    pause
    ]

    [–cmd中调用
    C:\Users\win10\Desktop>test C:\Users\win10\Desktop\学习笔记.txt
    ]

    展开全文
  • Windows 命令行基础

    2020-02-17 21:40:01
    Windows 命令行基础 转载地址:https://blog.henix.info/blog/windows-cmdbasic/ 作者:Valid | henix遥远的街市 最后更新日期:2017-07-22 文章目录Windows 命令行基础1. 引言:为什么要使用命令行2. 文件系统...

    Windows 命令行基础

    转载地址:https://blog.henix.info/blog/windows-cmdbasic/
    作者:Valid | henix遥远的街市
    最后更新日期:2017-07-22

    1. 引言:为什么要使用命令行

    在 DOS 时代,人们只能依靠输入命令同计算机互交。而现在,微软的 Windows 操作系统已得到了广泛使用,我们处理日常事务也大多使用基于图形用户界面(GUI,Graphics User Interface)的应用程序,命令行正在逐渐被人们淡忘。但我们同时也看到,系统自带的命令行解释器从 Windows 98 的 command.com 变成 Windows XP 的 cmd.exe 直到 Windows 7 的 PowerShell ,功能大大增强了。

    命令行有它独特的价值,在某些方面的表现是 GUI 程序无法获得的,下面举例来说:

    1. Windows 系统有时会出现故障,或是中了病毒、木马,系统根本无法引导。而整个 DOS 操作系统可装入一张软盘,只要用一张启动盘就可进入 DOS ,从而进行备份数据、修复系统等工作。如果你不会 DOS 命令,修复系统便无从谈起。当然,还有一些别的修复工具,比如 WinPE 、故障恢复控制台等,也能用来修复系统。但 DOS 启动盘具有制作简单、体积小等优点。在 DOS 中使用的命令请参考附录1
    2. Windows 命令行中提供了一系列实用小工具,极为绿色。比如 ping、netstat、diskpart 等命令。这方面可参考“附录2”。
    3. 学习 Windows 命令行,有助于我们更深入地了解 Windows 的工作方式。
    4. 很多软件既有图形前端,又有命令行版可供选择。如 7-Zip、WinRAR(两者都是压缩软件)皆有命令行版,微软的 cabarc(用来制作 CAB 压缩包)也是命令行程序。使用命令行版的软件通常具有占用资源少、运行速度快、可通过脚本进行批量处理等优点。

    当然,命令行也有其缺点。比如界面不够美观,手工输入命令较为繁琐(这可以通过一些输入技巧来弥补,详见 3.4 节),学习起来较为困难等。

    本文涵盖了 Windows 命令行的各方面的内容,从最简单的文件名命名规范到编写脚本文件,主要是基础知识。本文主要是为那些 Windows 命令行新手而写的,对读者的技术水平或使用计算机的经历不做任何要求。

    不同的 Windows 在命令行处理上也有细微差异,我用的系统是 Windows XP 和 Windows 7 ,后面一些命令的运行结果是基于此。

    2. 文件系统基础

    计算机内各种信息,如程序、数据等都是以文件形式存在的,使用计算机,可以说是对各种文件的操作管理。文件系统是 Windows 的一个组件,它能够让用户查看、组织以及保护存储设备上的文件和目录并与其进行互交。在“我的电脑”中选中任一本地磁盘,单击右键 -> “属性”,在弹出的“属性”对话框中可看到该磁盘(分区)的文件系统。

    Windows 中常见的文件系统有 FAT 、FAT32 、NTFS 、ISO9660(或称 CDFS) ,其中 ISO9660 用于光盘,其他用于磁盘。不同的文件系统有某些参数的差异,比如 FAT32 允许创建的单个文件不得超过 4GiB ,但 NTFS 可以允许创建超过 4GiB 的文件;又如 FAT32 不保留大小写,而 NTFS 保留大小写;NTFS 还支持更多特性,比如文件的硬链接(junction)。

    2.1 分区与盘符

    硬盘空间的划分称作分区。每个分区上需要有一个文件系统,文件系统负责决定文件在硬盘上的实际空间排布方式。

    我们平时说的 C: 、 D: 等即指磁盘分区,这些磁盘分区可能位于同一块物理硬盘上,也可能位于不同的两块硬盘。 C: 、 D: 等称为盘符或驱动器号,只是系统的一种表示符号,可以更改或重新分配。一个分区通常只包含一个文件系统。

    2.2 文件与名称

    文件名称由文件名和扩展名组成,两者由小圆点分隔,扩展名通常是用来表示文件的类别。Windows 中整个文件名称最长 255 个字符(一个中文字算两个字符);DOS 中,文件名最长 8 字符,扩展名最长 3 字符,称为 DOS 8.3 命名规则。文件名称可仅有前半部,即无扩展名,如文件名称最短可以是“1”、“C”等。给文件命名还应注意以下规则:

    1. 文件名不能包含下列任何字符之一(共 9 个):/😗?"<>|。
    2. 不能单独使用“设备名”作文件名。“设备名”包括:con ,aux ,com0 ~ com9 ,lpt0 ~ lpt9 ,nul ,prn 。
    3. 文件名不区分大小写,如 A.txt 和 a.TxT 表示同一文件。

    你也许会发现很多文件没有扩展名,其实不然。这是因为 Windows 在默认情况下会隐藏大部分文件的扩展名。如果希望显示所有文件的扩展名的话,打开“我的电脑”,“工具”菜单 -> “文件夹选项”,再在“查看”选项卡中,去掉“隐藏已知文件类型的扩展名”。另外,Windows 是根据文件的扩展名来决定对文件的操作的,而不是根据内容。例如,把一个文本文件(txt)的扩展名改为“RM”,再双击它,Windows 就会调用某个安装在你电脑上的媒体播放器(如 RealPlayer)来打开它。

    2.3 文件的目录管理

    把大量文件全放在一个目录里,操作系统查找一个给定的文件时就要花较长时间,同时,删除时也易误删除,对用户来说极不方便。于是,操作系统采用了目录的分级管理。将一个用户的同一类文件放在某个单独的目录下,和磁盘上所有其他文件分开来,这样的目录文件使用和管理起来要方便和科学得多。

    目录好比书的章、节等不同层次,呈树形结构。除根目录外,其他目录称为子目录。子目录下又可再带子目录。下图是一个树形目录结构的例子。

    img图2.1 树形目录结构

    除根目录外的所有子目录都有个名字,命名规则同文件,一般没有扩展名。

    2.4 绝对路径和相对路径

    当我们建立或修改一个文件时,必须向 Windows 指明这个文件的位置,这须知道三件事:驱动器、文件所在目录和文件名,这些信息构成一个路径。

    路径是由一系列目录名组成的,这些目录名之间用“\”分开,也可以把文件名(文件名和最后一个目录也用“\”分开)和驱动器号包括在内。例如:C:\WINDOWS\explorer.exe 。

    每个文件都有一个绝对路径和一个相对路径。绝对路径是指文件在文件系统中的准确位置,如 C:\WINDOWS\notepad.exe 。命令行解释器可以记住一个指定的目录,称为当前目录,相对路径即指文件相对于当前目录的位置。例如,如果用户在 C:\WINDOWS 目录下,则 C:\WINDOWS\notepad.exe 的相对路径是 notepad.exe 。这类似于家庭住址。如果是将自己的地址告诉住在同一座城市的人,可能会说自己住在某条街过去两条街。这就是相对地址——相对于同一座城市。如果是将自己的地址告诉其他国家的某个人,就必须说得更加详细,如中国某个省某个市中的某条街某号以及邮政编码,这就是绝对地址。相对路径常用于脚本,且使输入更简便,但是绝对路径是一个更为安全的选择,因为它避免了可能出现的歧义。

    如果一个路径是用“\”开始的,Windows 就从根目录开始找起(绝对路径),否则就从当前目录开始找(相对路径)。

    例如,在上图中,若当前目录为 a12 ,要指示子目录 a122 下的文件 ms.txt ,可以用路径 \a1\a12\a122\ms.txt(绝对路径) 或 a122\ms.txt(相对路径)。

    在“我的电脑”中,“地址栏”显示的就是当前目录。如果你看不到地址栏,请找到“查看”菜单 -> “工具栏”,勾选“地址栏”。如果你的地址栏没有显示完整路径(绝对路径),请单击“工具”菜单 -> “文件夹选项”,再在“查看”选项卡中,选中“在地址栏中显示完整路径”。

    3. 基本命令

    本章将具体地介绍一些命令。你最好能实践一下本章的内容,这需要使用 Windows 的“命令行解释器”,该程序在 Windows XP 中是 C:\WINDOWS\system32\cmd.exe 。请打开“开始” -> “程序” -> “附件” -> “命令行提示符”。然后,新窗口中可能会显示以下内容:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.
    
    C:\Documents and Settings\%USERNAME%>_
    

    其中“%USERNAME%”代表您当前的用户名。这里“>”提示符之前显示的就是当前目录。

    注意以下几点:

    1. Windows 中有两种命令:内部命令和外部命令。内部命令即内置在命令行解释器中的命令,不需要额外的程序,如 dir 、copy 等。外部命令是以可执行文件的形式(扩展名通常为 exe 或 com)存在于磁盘上,这就意味着该程序必须存在,否则 Windows 是找不到该命令的,如 format.com 。
    2. 每条命令输完后须回车,方开始运行,并得到运行结果。命令行解释器把提示符“>”和回车键间的字符串视为一条命令。如果这字符串确实符合 Windows 命令语法,就执行它,执行完后又回到提示符状态,否则命令行解释器给出错误信息。例如:
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.
    
    C:\Documents and Settings\root>cd "C:\Program Files"(此处回车,以后不标出)
    
    C:\Program Files>_
    C:\Program Files>gf
    'gf' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    
    C:\Program Files>type a.txt
    系统找不到指定的文件。
    
    C:\Program Files>_
    
    1. 要学习某个命令,最好的方法是阅读该命令的联机帮助。可以输入“命令名 /?”或“help 命令名”来查看命令的联机帮助,例如“format /?”。本章对命令的解说仅限于最基本的用法,欲详细了解请看联机帮助。

    3.1 目录操作命令

    \1. cd(Change Directory):改变当前目录

    格式:cd [/D] [盘符:][路径]

    C:\>cd \a1\a12\a122  (进入 a122 子目录,即指定 a122 为当前目录)
    C:\a1\a12\a122>cd \  (退回根目录)
    C:\>_
    

    \2. 多级目录之间的转换

    1) 由多级子目录转向另一多级子目录

    C:\a1\a12\a122>cd \c1\c13
    C:\c1\c13>_
    

    2) 由根目录进入深层子目录

    a. 直接进入:

    C:\>cd \a1\a12\a122
    C:\a1\a12\a122>_
    

    b. 逐层进入:

    C:\>cd a1
    C:\a1>cd a12
    C:\a1\a12>cd a122
    C:\a1\a12\a122>_
    

    3) 退出深层子目录

    a. 直接返回根目录:

    C:\a1\a12\a122>cd \
    C:\>_
    

    b. 逐级退出子目录:

    C:\a1\a12\a122>cd ..
    C:\a1\a12>cd ..
    C:\a1>cd ..
    C:\>_
    

    4) 进入同级子目录,如从 C:\a1\a12 转至 C:\a1\a11 :

    C:\a1\a12>cd ..\a11
    C:\a1\a11>_
    

    以上实例中用到了“…”,这用来表示当前目录的上级目录(父目录)。类似地,一个点“.”表示当前目录。

    cd 命令只是切换目录,如要切换盘符,则只需输入“盘符:”。比如切换到 D 盘,则输入“D:”即可。

    \3. md(Make Directory):建立子目录

    格式:md [盘符:] 新建子目录路径

    C:\a1\a12>md a123  (在当前目录下建立子目录 a123)
    C:\a1\a12>md \d1  (在 C 盘根目录下建立子目录 d1)
    

    \4. rd(Remove Directory):删除子目录

    格式:rd [/S] [/Q] [盘符:]被删除子目录路径

    C:\c1>rd c13  (删除当前目录下的 c13 子目录)
    C:\c1>rd ..\b1  (删除根目录下的 b1 子目录)
    

    说明:

    1. 只有空子目录(不含文件的)才能被删除(除非用 /S 参数)。
    2. 根目录和当前目录不能被删除。

    3.2 文件操作命令

    \1. dir :列文件目录清单

    格式:dir [盘符:][路径] [/P] [/W]

    说明:

    1. 参数“/P”为分屏显示,参数“/W”为简要显示(只显示文件名,不显示文件大小日期等信息)。
    2. 该命令可以使用通配符“”和“?”,? 代表任一字符, 代表任一字符串(若干个字符)。
    C:\>dir  (显示当前目录下文件目录清单)
    C:\>dir E:\bin /p  (分页显示 E 盘上 bin 目录下文件目录清单)
    C:\WINDOWS\system32>dir p*.vbs  (显示以 p 开头,以 .vbs 为后缀的所有文件目录清单,结果如下)
     驱动器 C 中的卷是 SYSTEM
     卷的序列号是 B4E5-F200
    
     C:\WINDOWS\system32 的目录
    
    2002-10-08  04:00           165,389 pagefileconfig.vbs
    2002-10-08  04:00            35,332 prncnfg.vbs
    2002-10-08  04:00            25,086 prndrvr.vbs
    2002-10-08  04:00            21,250 prnjobs.vbs
    2002-10-08  04:00            32,095 prnmngr.vbs
    2002-10-08  04:00            28,992 prnport.vbs
    2002-10-08  04:00            15,633 prnqctl.vbs
    2002-10-08  04:00             3,621 pubprn.vbs
                   8 个文件        327,398 字节
                   0 个目录  1,826,009,088 可用字节
    

    \2. copy :复制文件

    格式:copy 源文件[+源文件] [目标文件]

    C:\>copy *.* E:\backup    (复制当前目录下所有文件到 E:\backup)
    C:\>copy pic\ws?.jpg F:    (复制 pic 目录下以 ws 开头,后任跟一个字符的 jpeg 图片到 F 盘)
    C:\>copy a1+a2    (将 a2 的内容添加到 a1 尾,使 a1 的内容更新)
    

    \3. del :删除文件

    格式:del 一个或多个文件名

    C:\>del *.tmp
    C:\>del 1.txt 2.txt
    

    \4. ren :重命名文件

    格式:ren 原文件名 新文件名

    小结:

    1. 本章限于篇幅,只介绍了一些基本命令,相信您已经有能力自己阅读帮助文档。正如前面所提到的,Windows 命令的联机帮助是了解某个命令的最佳方法。输入“help”可得到一份常见命令列表。输入“命令名 /?”或“help 命令名”可以找到指定的联机帮助页。

    2. 命令的一般格式如下:

      命令名 [参数1] [参数2] ... [操作对象1] [操作对象2] ...

      使用参数,可开启命令的某些特定功能。参数和操作对象的顺序通常都可任意安排,不过某些情况下也有严格的顺序要求。例如 dir /w E:\bin 和 dir E:\bin /w 的效果是一样的。具体顺序应参考各命令的帮助文档。

    3. 命令参数中的文件名一般形式如下:

      [盘符:][路径]文件名[.扩展名]

      例如:

      • C:\PA\MUSI.rar

        C 盘 PA 子目录中的 rar 文件 MUSI

      • index.html

        当前盘上的 HTML 文件 index

    3.3 通配符

    使用命令行界面的一个比较有趣的方面在于,能够使用特定的称为通配符或元字符(metacharacter)的字符来改变和增强命令的行为。

    正如上一节提到过的,Windows 中有两种通配符:问号(?)匹配文件名中的任何一个字符,星号(*)匹配文件名中的零个或多个字符。可以在一个命令中综合使用这些通配符以定位多个文件,或者在不记得文件的全名时找到该文件。例如,假定当前目录中含有文件:

    date help help1 help2 help3 myprog.f myprog.o
    

    表3-1给出了匹配实例。

    参数+通配符 所匹配的文件
    help? help1 help2 help3
    help* help help1 help2 help3
    * date help help1 help2 help3 myprog.f myprog.o
    *.f myprog.f
    d* date

    另外,通配符在 Windows 的“搜索”中也可以使用。

    3.4 命令输入技巧

    打错了命令,怎样修改呢?怎样才能更高效地输入命令?这些都是本节将探讨的问题。

    在 DOS 操作系统中,打错命令有两种情况:

    1. 打错命令,若未回车可用退格键或左方向键(←)抹去错误后重打,然后回车执行。
    2. 打错了命令,已经回车,可用功能键修改。

    常用 DOS 功能键有:

    F1 从左至右一个个字符地重复上次键入的命令。
    F2 连续重复至某字符位置前所有字符(不含某字符)。
    F3 复制上次输入的命令或当前光标后面剩余的全部字符。
    F4 与 F2 相反删除到指定字符。
    Del 删去一字符。
    Ins 插入若干字符。
    Esc 作废当前行。
    Ctrl+C 强行终止当前命令或程序的执行。

    实际上,我们更多时候会在 Windows 下修改,“命令行解释器”给我们提供了更方便的修改方法。首先,在未回车时输左方向键(←)并不会像 DOS 中那样删除前一个字符,只会移动光标,故只需把光标移到有错误的地方修改即可。并且,Windows 中可使用上方向键(↑)来遍历已经输过的命令。另外,“命令行解释器”还提供了强大的复制/粘贴功能。姑举一例说明:

    假如上一个命令是“dir transitional.txt”,现在要输入“type transitional.txt”,有两种方法:

    1. 先按上方向键(↑)(或<F3>),屏幕显示:dir transitional.txt 。再按<Home>键,将光标移动到行首,按三次<Del>键,再输入 type ,即完成命令。
    2. 在窗口中点右键,选择“标记”,再用鼠标拉框选中上一个命令中的“transitional.txt”,按回车,就将文本“transitional.txt”复制到了剪贴板。然后输入“type”,空格,再点右键,选择“粘贴”,即完成命令。

    要提高输入效率还得靠另一个功能键:<Tab> ,它能自动补完文件名。例如,假设当前目录中以字母 t 开头的只有 transitional.txt 和 trap.exe ,但你嫌 transitional.txt 这个名字太长,于是你输入“type”空格后,输入“t”,然后按<Tab> ,命令行解释器会自动补完后面的部分,变成“type transitional.txt”,如果再按,就会在 transitional.txt 和 trap.exe 这两个文件名之间切换。

    4. 一些较高级的概念

    上一章介绍了 Windows 命令行的基础知识,本章将讨论一些更高级的功能,这些功能足以使 Windows 命令行成为一个非常灵活而且强大的工具。

    4.1 输入输出重定向和管道

    每个命令都需要一个输入源和一个输出目的地。默认输入是键盘,默认输出是屏幕,这称为标准输入和标准输出。但在很多情况中,用户也许希望为单独某次操作修改输入和输出。例如,写一个命令,从一个文件提取数据,进行加工后,输出到另一文件。这称为重定向(redirection)。

    命令行解释器使用字符“<”和“>”来定义临时输入和输出源。假定用户希望使用 dir 命令列出某个目录的内容,并将输出保存到文本文件中而并非打印到屏幕上,那么他可以建立一个 dir.txt ,然后执行:

    C:\>dir > dir.txt
    
    C:\>
    

    这里,以上命令不会产生输出,但会修改 dir.txt 的内容。注意字符“>”会 完全覆盖 dir.txt 中已有的数据,而且 dir.txt 不存在时还会自动新建文件。如果希望保存先前数据,则可以使用 >> 操作符:

    C:\>dir >> dir.txt (将输出追加到 dir.txt 的末尾)
    
    C:\>
    

    字符 < 用于修改输入,所谓输入,是指某些命令从键盘读取的输入。这种命令在 Windows 不太常见,就举 sort 为例。sort 命令要求用户输入一系列单词,每个单词占一行,以 Ctrl+Z 结束输入,然后将这些单词按字母表顺序排序并输出到屏幕上。

    E:\>sort
    g (这里开始键盘输入)
    n
    o
    m
    e
    ^Z (Ctrl+Z 后回车,以下是输出)
    e
    g
    m
    n
    o
    

    如果我们使用输入输出重定向呢?我们先建立一个 names.txt ,内容如下:

    Kobato
    Tomoyo
    Eriol
    Fay
    Meilin
    Rika
    Ruby
    Kaede
    Freya
    Misaki
    Dorothy
    Edward
    Lisa
    

    然后执行:

    sort < names.txt > names-alpha.txt
    

    该命令将输入和输出重定向结合在一起使用:将 names.txt 文件中的条目排序,然后将排序后的输出写入一个名为 names-alpha.txt 的文件中。得到的 names-alpha.txt 如下:

    Dorothy
    Edward
    Eriol
    Fay
    Freya
    Kaede
    Kobato
    Lisa
    Meilin
    Misaki
    Rika
    Ruby
    Tomoyo
    

    管道(pipe)是一个操作符,它把输入和输出重定向结合在一起,从而将一个命令的输出立即作为另一个命令的输入。管道用竖直线字符(|)表示,该字符通常位于 Enter 键附近。

    最经典的使用管道的命令:more 。可以说该命令大部分情况下都和管道一起使用。例如,要查看 sort 命令的帮助信息,输入 sort /? ,但一屏显示不完,使用 sort /? | more 来分屏显示。

    C:\>sort /? | more
    SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
      [[drive1:][path1]filename1] [/T [drive2:][path2]]
      [/O [drive3:][path3]filename3]
      /+n                         指定开始每个比较的字符号码 n。/+3 说明每个
                                  比较应从每行的第三个字符开始。少于 n 个字符
                                  的行排在其他行之前。按默认值,从每行的第一
                                  个字符开始比较。
      /L[OCALE] locale            用指定的区域设置替代系统默认区域设置。
                                  ""C"" 区域设置产生最快的排序顺序并且是当前的
                                  唯一其他选择。排序总是不分大小写的。
      /M[EMORY] kilobytes         指定用于排序的主内存量,单位为 KB。
                                  最小内存量总是 160 KB。如果指定内存大小,
                                  无论主内存的可用量是多少,指定的内存量
                                  会全部用于排序。
    
                                  要取得最佳性能,通常不指定内存大小。按默认
                                  值,如果达到默认最大内存值,排序会一次完成
                                  (非临时文件);否则,排序会分两次完成(没有
                                  完全排序的数据存储在临时文件中);用于排序
                                  和合并的内存量相等。如果输入和输出都是
                                  文件, 默认最大内存量为可用主内存的 90%;
                                  否则,为主内存的 45%。
      /REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量
                                   (默认值为 4096,最大值为 65535)。
    -- More  --
    

    此时,屏幕左下角显示:– More – ,按任意键则显示下一屏,直到全部显示完。

    另一个经典的使用管道的命令是 find ,用来过滤输出。例如,我要查看当前的环境变量,但我只对 PATH 感兴趣,则输入:

    C:\>set | find "Path"
    Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\bin
    

    4.2 特殊设备

    在 Windows 中可以使用如下设备名:

    设备名 表示
    AUX 辅助设备
    CON 控制台(键盘)
    PRN 默认打印机(LPT1)
    NUL 空设备
    LPT1 - LPT3 并行端口
    COM1 - COM4 串行端口

    可将命令的参数指定为这些设备名,就能实现很多奇妙功能。

    \1. 使用 con

    C:\>copy con t.txt (读取键盘输入,并复制到 t.txt)
    Hello,world! (此处用键盘输入,以 Ctrl+Z 结束)
    ^Z
    已复制         1 个文件。
    
    C:\>
    

    \2. 使用 nul “粉碎”文件

    文件被删除之后(指在回收站中被删除),还可以用某些软件恢复。怎样才能将文件彻底删除呢?这里提供一种简单易行的方法。

    C:\>dir | find "t.txt"
    2008-06-16  20:01                14 t.txt (目前为 14 字节)
    
    C:\>copy nul t.txt (将“空”复制到 t.txt ,这样就将 t.txt 的大小改写为了 0 字节)
    改写 t.txt 吗? (Yes/No/All): y
    已复制         1 个文件。
    
    C:\>dir | find "t.txt"
    2008-06-16  20:37                 0 t.txt (文件大小已为 0 了)
    
    C:\>del t.txt (再删除即可)
    
    C:\>
    

    使用“copy nul 文件名”的办法,将文件大小改为 0 后再删除,这样即使用软件恢复也只能恢复出来一个空文件而已,无法得到原来的那个文件了。

    4.3 环境变量

    环境变量是一个“变量名=变量值”的对应关系,每一个变量都有一个值与之对应。set 命令用于设置或查看环境变量。我们可以通过两个百分号的形式:“%变量名%”,在命令中引用变量的值。

    C:\>set (列出当前所有环境变量及其值)
    ……省略输出若干……
    windir=C:\WINDOWS
    
    C:\>cd %windir% (该命令在执行时,“%windir%”会自动被替换成“C:\WINDOWS”)
    
    C:\WINDOWS>set str=Hello! (用“set 变量名=变量值”来设置一个变量)
    
    C:\WINDOWS>echo %str% (echo 命令可回显一个字符串)
    Hello!
    
    C:\WINDOWS>
    

    变量给命令或批处理文件带来了极大的灵活性,多用于批处理文件中。

    4.4 环境变量 PATH

    有一个特殊的环境变量 PATH ,包含一组用分号(;)分隔的目录名。命令行解释器根据它查找可执行程序(exe)。

    如果想让自己的程序可以在命令行下使用,可以将程序所在的目录加入 PATH 中。

    例如若想直接使用 D:\GnuWin32\bin 下的 wget.exe :

    C:\>wget
    'wget' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    
    C:\>D:\GnuWin32\bin\wget
    ...(运行成功)
    

    如果每次使用的时候都要输入完整的路径 D:\GnuWin32\bin\wget ,显得有些繁琐,我们希望 wget 能像其他的 Windows 命令一样只输入名字就可以使用。这时可将它所在的目录,即 D:\GnuWin32\bin 加到 PATH 中:

    C:\>echo %PATH%
    C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0
    
    C:\>set PATH=%PATH%;D:\GnuWin32\bin
    
    C:\>echo %PATH%
    C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;D:\GnuWin32\bin
    
    C:\wget
    ...(运行成功)
    

    对 PATH 的更改只在这一次会话中有效,如果关闭命令行解释器再重新打开或者重启电脑 PATH 又会变成原来的系统默认值,如何修改这个默认值呢?

    Windows 7 中:计算机 -> 右键 -> 属性 -> 高级系统设置 -> 环境变量,下面的“系统变量”中的 PATH 。

    5. 批处理文件简介

    使用批处理文件(亦称批处理程序或脚本),可以简化日常或重复性任务。批处理文件是纯文本文件,它包含一条或多条命令,其文件扩展名为 .bat 或 .cmd 。在命令提示符下键入批处理文件的名称,cmd.exe 就会按照该文件中各个命令出现的顺序来逐个运行它们。所以批处理文件的特点是:一次建立,多次运行,适合进行重复性任务。在 DOS 中只能使用 .bat 的批处理文件。

    可以在批处理文件中包含任何命令。某些命令,比如 for、goto 和 if 命令等,它们允许你对批处理文件中的命令作条件流程控制。例如,if 命令根据条件语句的结果来执行命令。还有些只能在批处理文件中执行的命令。

    有关批处理文件的详细信息,请参考以下命令的帮助页。

    命令 功能
    rem 添加一段注释
    echo 显示信息,或将命令回显打开或关上
    if 执行批处理程序中的条件性处理
    for 为一套文件中的每个文件运行一个指定的命令
    goto 跳转到批处理程序中某个标明的行执行
    pause 暂停批文件的处理并显示消息
    call 从一个批处理程序调用另一个批处理程序,而不终止父批处理程序
    pushd 保存当前目录,然后对其进行更改
    popd 还原 pushd 保存的当前目录的上一个值
    shift 更换批文件中可替换参数的位置
    setlocal 开始批文件中环境更改的本地化
    endlocal 结束批文件中环境更改的本地化
    title 设置 cmd.exe 会话的窗口标题
    start 启动另一个窗口来运行指定的程序或命令

    6. 几个应用实例

    6.1 批量改名

    下载了一组图片后,得到如下文件:(加粗为用户输入的内容)

    C:\>d:(输入 D: 以切换到 D 盘,否则下一个 cd 命令无效)
    
    D:\>cd D:\pics
    
    D:\pics>dir /b
    001.jpg
    002-003.jpg
    004.JPG
    005.JPG
    006.jpg
    007.JPG
    008.jpg
    009.jpg
    010.JPG
    011.JPG
    012.jpg
    013.JPG
    014.JPG
    015.JPG
    016.jpg
    017.jpg
    018.JPG
    019.jpg
    020.JPG
    

    我想将它们改名为 01.jpg ~ 20.jpg 用命令该怎样做呢?这里只提供一种可能的办法,实际上还有很多种方法,大家可触类旁通。

    D:\pics>for %i in (01,04,05,06,07,08,09) do ren 0%i.jpg %i.jpg(for 命令中,%i 变量遍历小括号中的内容)
    
    D:\pics>ren 001.jpg 01.jpg
    ……(命令回显会显示实际执行的命令,省略输出若干)
    D:\pics>ren 009.jpg 09.jpg
    
    D:\pics>for /L %i in (10,1,20) do ren 0%i.jpg %i.jpg
    
    D:\pics>ren 010.jpg 10.jpg
    (省略输出若干)
    D:\pics>ren 020.jpg 20.jpg
    
    D:\pics>ren 002-003.jpg 02-03.jpg(最后手动改名)
    
    D:\pics>
    

    以上主要通过 for…in…do 结构及 /L 参数,使得本来要 19 次的改名操作只用两个 for 命令及一个 ren 就搞定。for 命令详细用法请参考其帮助页。

    6.2 批量“粉碎”文件

    接着刚才的例子,如果我想用 4.2 节所述的方法“粉碎”当前文件夹下的所有 jpeg 文件,我该怎样做?

    for %i in (*.jpg) do copy nul %i /y
    

    这里使用 /y 来防止 copy 的覆盖前提示。

    6.3 清理 Windows 临时文件夹 %tmp%

    %tmp% 这个环境变量保存了 Windows 临时文件夹的位置,通常这个文件夹在 Windows 7 中是 C:\Users\用户名\AppData\Local\Temp ,WinXP 中则是 C:\Documents and Settings\用户名\Local Settings\Temp 。某些程序(典型如安装程序,解压缩软件)运行过程中产生的临时文件会存放于此,总之,是个堆放杂物的地方,其中文件一般可全部删除。在“我的电脑”的“地址栏”(若找不到地址栏,“查看”->“工具栏”->“地址栏”)中输入“%tmp%”,然后回车,看看你的临时文件夹有多少东西。

    下面讨论清理。可能每隔一段时间就需要清理临时文件夹,因此我们采用批处理文件。以下为 CleanTmp.cmd 文件的内容。

    第一种方案:全部删除

    @echo off
    rem 命令前加“@”会不让该命令显示出来,而“echo off”的作用是关闭整个
    rem 脚本的命令回显。若不懂,请注释掉第一行(在最前面加“rem ”)再试。
    rem CleanTmp.cmd : 清理 Windows 临时文件夹
    rem Author : henix<http://blog.henix.info/>
    echo Cleaning...
    rd /s /q %tmp%
    md %tmp%
    echo Done.
    pause
    

    也许你希望留下一些文件,比如 *.log ,那也可以用第二种方案:删除部分文件

    rem CleanTmp.cmd : 清理 Windows 临时文件夹
    rem Author : henix<http://blog.henix.info/>
    del %tmp%\*.tmp /q
    del %tmp%\*.wmv /q
    del %tmp%\*.xml /q
    rem 也可以添加更多,你的临时文件夹中经常出现的,而你又不想要的文件
    pause
    

    将以上内容保存为 CleanTmp.cmd ,放在桌面(或其他你方便的地方),以后你只需双击这个 CleanTmp.cmd 就可清理临时文件夹。

    6.4 快速切换 IP/DNS 配置

    有时我们可能需要经常切换 IP 配置,比如带着笔记本往返于家和公司之间,在家使用动态获取 IP,而在公司使用静态 IP ,如果每次都要点出对话框来修改 IP 的话,相当不方便。netsh 这个命令可以帮我们设置 IP 地址。

    在桌面上创建一个 dhcp.cmd ,内容如下:

    set name="本地连接"
    netsh interface ip set address %name% dhcp
    netsh interface ip set dns %name% dhcp
    pause
    

    假如你要切换的静态 IP 是 192.168.3.19 ,创建另一个文件 319.cmd ,内容如下:

    set OUT=%TMP%\319.txt
    set name="本地连接"
    
    echo interface ip set address %name% static 192.168.3.19 255.255.255.0 192.168.3.1 0 > %OUT%
    echo interface ip set dns %name% static 192.168.3.1 >> %OUT%
    echo interface ip add dns %name% 8.8.8.8 >> %OUT%
    
    netsh -f %OUT%
    
    pause
    

    每次需要切换的时候双击运行这个脚本即可。这里 pause 的作用是暂停这个脚本,避免一闪而过。

    第二个脚本使用 netsh 的 -f 参数把一个文件当作脚本执行,这样 netsh 只初始化一次,速度较快。

    6.5 下载一系列图片:for + wget

    有时我们在网上看到一系列图片,想把它们都下载下来,怎么办?首先要取得图片的地址,只有当图片的地址有一定规律性时,才能使用此法下载:在图片上点右键->“属性”,然后复制“地址”一栏的内容。假设要下载的图片地址很有规律,恰为 http://www.example.com/ 下的 1.jpg - 10.jpg 。

    网上有很多命令行小程序,可以增强命令行的功能。这里使用 GNU Wget ,该程序可通过 HTTP 、HTTPS 、FTP 协议下载文件。

    Windows 版下载地址:http://gnuwin32.sourceforge.net/packages/wget.htm ,需要下载“Binaries”和“Dependencies”,并把解压后可执行程序所在的目录添加到 PATH 中。

    E:\pics>for /L %i in (1,1,10) do start wget http://www.example.com/%i.jpg
    

    start 命令会开启一个新的进程,可以实现多进程并发下载。

    6.6 平坦复制(flat copy)

    如果想把一个目录中的所有文件(包含子目录)复制到另一处,但不想复制子目录结构,怎么办?

    使用 for 命令并使用 dir 的运行结果:

    for /F "tokens=*" %i in ('dir /s /b /a-d "%SRC%"') do copy "%i" "%DEST%"
    

    或者直接用 for /R :

    for /R "%SRC%" %i in (*) do copy "%i" "%DEST%"
    

    7. 常见问题解答

    • 问:echo 命令输出总要换行,有办法输出一个字符串而不换行吗?

      答:可以利用 set 命令的一个特殊用法

      set/p=输出的内容<nul
      
    • 问:据说用 md 可以创建一些特殊目录?

      答:

      md test..\
      

      将创建一个名为“test.”(Windows XP)或者“test…”(Windows 7)的目录,在资源管理器中无法正常删除。删除:

      rd test..\
      

    8. 参考文献

    1. Paul Love, Joe Merlino 等: 《Unix 入门经典》. 张楚雄、许文昭译. 清华大学出版社. 2006
    2. 张钟澍、杨佛章编著: 《电脑打字与文书编辑(修订本)》. 成都科技大学出版社. 1993

    附录1:常用 DOS 命令一览

    (一)内部命令

    1. CD(全程 CHDIR ,显示当前目录的名称或将其更改)
      格式:CD [路径名]
    2. CLS(清除屏幕)
    3. COPY(将至少一个文件复制到另一个位置)
      格式:COPY [/V] [/A | /B] 文件1 [+ 文件2 [+ ...]] 目标文件
    4. DATE(显示或设置日期)
    5. DEL(或用 ERASE ,删除至少一个文件)
    6. DIR(显示一个目录中的文件和子目录)
      格式:DIR [盘符][路径][文件名] [/B] [/P] [/W]
    7. MD(全称 MKDIR ,创建目录)
      格式:MD [路径]
    8. RD(全称 RMDIR ,删除目录)
      格式:RD [路径]
      说明:只能删除空目录
    9. REN(全称 RENAME ,重命名文件)
      格式:REN [盘符][路径]旧文件名 新文件名
      说明:不能为目标文件指定新的驱动器或路径
    10. TIME(显示或设置系统时间)
    11. TYPE(显示文本文件的内容)
      格式:TYPE [盘符][路径]文件名
    12. VER(显示 DOS 版本)
    13. VOL(显示磁盘卷标和序列号)
      格式:VOL [盘符]
    

    (二)外部命令

    1. ATTRIB(显示或更改文件属性)
      格式:ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [[盘符][路径]文件名] [/S]
      说明:+ :设置属性,- :清除属性,R :只读文件属性,A :存档文件属性,S :系统文件属性,H :隐藏文件属性。/S :处理当前文件夹及其子文件夹中的匹配文件。仅用 ATTRIB 会列出当前目录下全部文件及其属性。
    2. CHKDSK(检查磁盘并显示状态报告)
      格式:CHKDSK [盘符[[路径]文件名]]] [/F] [/V]
      说明:不指明文件,则对整个盘进行操作,/F 为修复磁盘上的错误,/V 为显示磁盘上每个文件的完整路径和名称。
    3. EDIT(EDIT 为一菜单式文本编辑软件)
    4. FORMAT(格式化磁盘以供 DOS 使用)
      格式:FORMAT 盘符 [/V:卷标] [/Q] [/S]
      说明:高级格式化会清除全部文件,/V 指定卷标,/Q 快速格式化,/S 为格式化成 DOS 系统盘(相当于 FORMAT 后再 SYS)。
    5. SYS(传输系统文件)
      格式:SYS [盘符]
      说明:制作可启动的 DOS 系统盘。
    6. XCOPY(复制文件和目录树)
      格式:XCOPY 源文件 [目标文件] [/P] [/S [/E]] [/V]
      说明:/P 创建每个目标文件前提示,/S 复制目录和子目录,除了空的,/E 复制目录和子目录,包括空的,/V 验证每个新文件。
    

    附录2:Windows 中的一些有用的命令

    下表列出了 Windows 中的一些有用的命令,使用方法请参考其帮助页。

    命令 说明
    assoc 显示或修改文件扩展名关联。如果在没有参数的情况下使用,则 assoc 将显示所有当前文件扩展名关联的列表。
    attrib 显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性。如果在不含参数的情况下使用,则 attrib 命令会显示当前目录中所有文件的属性。
    chkdsk 查找文件系统和文件系统元数据中的错误,并显示查找结果的状态报告。如果不带任何参数,chkdsk 将仅显示当前驱动器中的磁盘状态。不会修复错误。要修复错误,必须包括 /f 参数。
    convert 将文件分配表 (FAT) 和 FAT32 卷转换为 NTFS 文件系统,而现有的文件和文件夹完好无损。被转换为 NTFS 文件系统的卷无法再转换回 FAT 或 FAT32。
    defrag 定位并整理本地卷上的零碎启动文件、数据文件和文件夹。
    diskpart 管理磁盘、分区或卷,可新建、删除等。
    expand 展开一个或多个压缩文件(.cab 格式)。
    fc 比较两个文件并显示它们之间的差异。
    for 对一组文件中的每个文件运行指定的命令。
    fsutil Fsutil 是一个命令行实用程序,可用于执行多种与文件分配表 (FAT) 和 NTFS 文件系统相关的任务,例如管理重分析点、管理稀疏文件或拆卸卷。由于 fsutil 的功能非常强大,因而只有具有 Windows XP 或 Windows Server 2003 的完整知识的高级用户才应使用它。此外,必须作为管理员或 Administrator 组的成员登录,才能使用 fsutil。
    ftype 显示或者修改在文件名扩展关联中使用的文件类型。使用不带参数的 ftype 显示已定义打开命令字符串的文件类型。
    move 将一个或多个文件从一个目录移动到指定的目录。
    subst 将路径与驱动器号关联。如果使用时不带参数,subst 将显示有效的虚拟驱动器的名称。
    tree 以图形的方式显示路径或驱动器中磁盘的目录结构。
    命令 说明
    arp 显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。
    ftp 将文件传输到运行文件传输协议 (FTP) 服务器服务(如 Internet 信息服务)的计算机,或从这样的计算机传输文件。通过处理 ASCII 文本文件,可以交互的方式或以批处理模式使用 Ftp。
    hostname 显示计算机全名中的主机名称部分。
    ipconfig 显示所有当前的 TCP/IP 网络配置值、刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。使用不带参数的 ipconfig 可以显示所有适配器的 IPv6 地址或 IPv4 地址、子网掩码和默认网关。
    net 许多服务使用的网络命令都以词 net 开头,这些 net 命令有:net [ accounts | computer | config | continue | file | group | help | helpmsg | localgroup | name | pause | print | send | session | share | start | statistics | stop | time | use | user | view ]
    netsh Netsh 是命令行脚本实用工具,它允许从本地或远程显示或修改当前正在运行的计算机的网络配置。Netsh 还提供了一个脚本功能,对于指定计算机,可以通过此功能以批处理模式运行一组命令。为了存档或配置其他服务器,Netsh 也可以将配置脚本保存在文本文件中。
    netstat 显示活动的 TCP 连接、计算机侦听的端口、以太网统计信息、IP 路由表、IPv4 统计信息(对于 IP、ICMP、TCP 和 UDP 协议)以及 IPv6 统计信息(对于 IPv6、ICMPv6、通过 IPv6 的 TCP 以及通过 IPv6 的 UDP 协议)。使用时如果不带参数,netstat 显示活动的 TCP 连接。
    ping 通过发送 Internet 控制消息协议 (ICMP) 回响请求消息来验证与另一台 TCP/IP 计算机的 IP 级连接。对应的回响应答消息的接收情况将和往返过程的时间一起显示出来。Ping 是用于检测网络连接性、可到达性和名称解析的疑难问题的主要 TCP/IP 命令。如果不带参数,ping 将显示帮助。
    telnet 通过 TELNET 协议登陆远程计算机。
    tftp 向运行日常文件传输协议 (TFTP) 服务或守护程序的远程计算机(尤其是运行 UNIX 的计算机)传输或接收文件。如果使用时不带参数,tftp 将显示帮助。
    tracert 通过递增“存在时间 (TTL)”字段的值将“Internet 控制消息协议 (ICMP) 回显请求”或 ICMPv6 消息发送给目标可确定到达目标的路径。路径将以列表形式显示,其中包含源主机与目标主机之间路径中路由器的近侧路由器接口。近侧接口是距离路径中的发送主机最近的路由器的接口。如果使用时不带参数,tracert 显示帮助。
    命令 说明
    at 计划在指定时间和日期在计算机上运行命令和程序。at 命令只能在“计划”服务运行时使用。如果在没有参数的情况下使用,则 at 命令将列出已计划的命令。
    chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页。
    exit 退出当前批处理脚本或 Cmd.exe 程序(即命令解释程序)并返回到启动 Cmd.exe 的程序。
    help 提供关于系统命令的联机信息(即非网络命令)。使用不带参数的 help 列举并简要描述每个系统命令。
    reg 对注册表子项信息和注册表项值中的值执行添加、更改、导入、导出以及其他操作。
    regsvr32 在注册表中作为命令组件注册 .dll 文件。
    sc 与“服务控制器”和已安装设备进行通讯。SC.exe 检索和设置有关服务的控制信息。可以使用 SC.exe 来测试和调试服务程序。可以设置存储在注册表中的服务属性,以控制如何在启动时启动服务应用程序,以及如何将其作为后台程序运行。SC.exe 的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务。可以创建批处理文件来调用不同的 SC.exe 命令,以自动启动或关闭服务序列。SC.exe 提供的功能类似于“控制面板”中“管理工具”项中的“服务”。
    shutdown 使您能够一次关闭或重新启动一台本地或远程计算机。
    set 显示、设置或删除环境变量。如果没有任何参数,set 命令将显示当前环境设置。
    takeown 使管理员成为文件的所有者,可授予管理员恢复对以前被拒绝的文件的访问权限。
    taskkill 结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。
    tasklist 显示本地或远程机器上当前运行的进程列表。
    命令 说明
    bcdedit Bcdedit.exe 命令行工具用于修改启动配置数据存储。
    mklink 创建符号链接、硬链接或目录联结。
    robocopy Windows 的可靠文件复制。

    附录3:相关资源

    • 微软的命令行参考在线文档

      https://technet.microsoft.com/zh-cn/library/cc754340(v=ws.10).aspx

    展开全文
  • Windows命令行用法

    2020-07-24 14:09:51
    在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。 Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。 为了方便,免得进行盘符...

    在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。

            Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。

            为了方便,免得进行盘符切换,我在F盘建立了一个文件夹,名称为myFile, 把Windows的cmd.exe复制到myFile文件夹中,双击cmd.exe, 就可以进行命令行的操作了,双击后的结果为:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>

          下面我们来看看命令行的使用(结果指的是关键结果):

    1. dir  (director): 列举目录

         输入dir, 并按enter键(以后,在叙述中,省略这个步骤)

         结果为:

    F:\myFile>dir
     驱动器 F 中的卷是 DISK1_VOL4
     卷的序列号是 E071-A2BE

     F:\myFile 的目录

    2013-06-04  13:55    <DIR>          .
    2013-06-04  13:55    <DIR>          ..
    2008-04-14  20:00           471,040 cmd.exe
                   1 个文件        471,040 字节
                   2 个目录 45,535,886,336 可用字节


    2. md  (make directory) : 创建目录,即生成文件夹

         输入 md video

         结果: 在myFile文件夹下建立了一个video文件夹

    3. cd  (current/change directory):当前目录或改变目录

        (1) 直接输入cd(或者cd.),则显示当前目录

        (2) 输入cd video,当前目录为video目录

        (3) 输入cd..,则显示上一级目录,即myFile目录

    4. rd (remove directory) : 删除目录,即删除文件夹

         输入: rd video

        结果: video文件夹被删除了

    5. echo : 该命令用法众多,下面仅给出比较重要的一种作用

         输入:echo.>note.txt

         结果:在myFile中建立了一个note.txt文件

         当然啦,用copy con note.txt也可以产生同样的效果,输入完后,按Ctrl + z, 然后按enter键即可产生note.txt文件

    6. del   (delete) : 删除一个文件

         输入:del note.txt

         结果:note.txt文件被删除

    7. ren (rename) : 对文件夹或文件重新命令,如下:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>md 1
    F:\myFile>ren 1 2
    F:\myFile>echo.>1.txt
    F:\myFile>ren 1.txt 2.txt
    F:\myFile>

        于是,在文件夹myFile中便有了文件夹2和文件2.txt

    8. copy  : 复制(至于具体是复制文件,还是文件夹,就不详细说了,自己可以尝试,用的时候可以查相关文档,很easy)

    9. type : 输出文本文件中的内容(细一想,可否输出word中的内容?当然不能!)

         如下:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>echo.美利坚合众国>1.txt
    F:\myFile>type 1.txt
    美利坚合众国
    F:\myFile>

    10. cls  (clear screen) :清屏

         Windows shell真的很好用,下面再简要介绍一些命令:

    cmd  :       Windows shell, 之前已经介绍过, 可以显示Windows的版本

    winver :    查看Windows版本号

    ver  :         查看Windows的版本号(与winver不太一样)

    date :        查看并修改系统日期

    time:         查看并修改系统时间

    mem:       显示内存使用状况

    clac:          打开计算机

    explorer :  打开资源管理器(不是explore)

    regedit :    打开资源注册表

    debug :     debug(这个我们已经很熟悉了,在汇编语言的学习中经常用)

    fc :             文件比较

    pause:     输出“请按任意键继续...”

    edit     :     DOS下的文本编辑器

    notepad: Windows下的文本编辑器

    命令 + /?  :   输出命令的用法

          最后,值得一提的是:echo.>1.txt和echo>1.txt都是正确的,但是,echo美国>1.txt是错误的,必须用echo.美国>1.txt 。所以,最好把那一个“小点”带上。当然啦,你也可以用空格来代替echo后面的"小点",而且,我觉得这样更好。

           我们将在以后的博文中介绍Windows批处理命令,敬请关注。

           补充: 在Windows命令行下, 我们可以通过上下箭头来查找历史命令记录, 其实, 我们还可以用F7来显示历史命令, 非常好用啊。

    展开全文
  • windows命令行指令

    千次阅读 2018-10-09 10:15:14
    在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。  Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。  为了方便,免得进行...

    转自:stpeace

    在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。

            Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。

            为了方便,免得进行盘符切换,我在F盘建立了一个文件夹,名称为myFile, 把Windows的cmd.exe复制到myFile文件夹中,双击cmd.exe, 就可以进行命令行的操作了,双击后的结果为:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>

          下面我们来看看命令行的使用(结果指的是关键结果):

    1. dir  (director): 列举目录

         输入dir, 并按enter键(以后,在叙述中,省略这个步骤)

         结果为:

    F:\myFile>dir
     驱动器 F 中的卷是 DISK1_VOL4
     卷的序列号是 E071-A2BE

     F:\myFile 的目录

    2013-06-04  13:55    <DIR>          .
    2013-06-04  13:55    <DIR>          ..
    2008-04-14  20:00           471,040 cmd.exe
                   1 个文件        471,040 字节
                   2 个目录 45,535,886,336 可用字节


    2. md  (make directory) : 创建目录,即生成文件夹

         输入 md video

         结果: 在myFile文件夹下建立了一个video文件夹

     

    3. cd  (current/change directory):当前目录或改变目录

        (1) 直接输入cd(或者cd.),则显示当前目录

        (2) 输入cd video,当前目录为video目录

        (3) 输入cd..,则显示上一级目录,即myFile目录

     

    4. rd (remove directory) : 删除目录,即删除文件夹

         输入: rd video

        结果: video文件夹被删除了

     

    5. echo : 该命令用法众多,下面仅给出比较重要的一种作用

         输入:echo.>note.txt

         结果:在myFile中建立了一个note.txt文件

         当然啦,用copy con note.txt也可以产生同样的效果,输入完后,按Ctrl + z, 然后按enter键即可产生note.txt文件

     

    6. del   (delete) : 删除一个文件

         输入:del note.txt

         结果:note.txt文件被删除

     

    7. ren (rename) : 对文件夹或文件重新命令,如下:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>md 1
    F:\myFile>ren 1 2
    F:\myFile>echo.>1.txt
    F:\myFile>ren 1.txt 2.txt
    F:\myFile>

        于是,在文件夹myFile中便有了文件夹2和文件2.txt

     

    8. copy  : 复制(至于具体是复制文件,还是文件夹,就不详细说了,自己可以尝试,用的时候可以查相关文档,很easy)

     

    9. type : 输出文本文件中的内容(细一想,可否输出word中的内容?当然不能!)

         如下:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.

    F:\myFile>echo.美利坚合众国>1.txt
    F:\myFile>type 1.txt
    美利坚合众国
    F:\myFile>

     

    10. cls  (clear screen) :清屏

     

         Windows shell真的很好用,下面再简要介绍一些命令:

     

    cmd  :       Windows shell, 之前已经介绍过, 可以显示Windows的版本

    winver :    查看Windows版本号

    ver  :         查看Windows的版本号(与winver不太一样)

    date :        查看并修改系统日期

    time:         查看并修改系统时间

    mem:       显示内存使用状况

    clac:          打开计算机

    explorer :  打开资源管理器(不是explore)

    regedit :    打开资源注册表

    debug :     debug(这个我们已经很熟悉了,在汇编语言的学习中经常用)

    fc :             文件比较

    pause:     输出“请按任意键继续...”

    edit     :     DOS下的文本编辑器

    notepad: Windows下的文本编辑器

    命令 + /?  :   输出命令的用法

     

          最后,值得一提的是:echo.>1.txt和echo>1.txt都是正确的,但是,echo美国>1.txt是错误的,必须用echo.美国>1.txt 。所以,最好把那一个“小点”带上。当然啦,你也可以用空格来代替echo后面的"小点",而且,我觉得这样更好。

    --------------------- 本文来自 Hubz131 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/Hubz131/article/details/80400885?utm_source=copy

    展开全文
  • windows命令行

    2018-09-26 21:54:59
    虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,...
  • Windows命令行的使用

    2019-02-03 09:15:02
    Windows命令行的使用
  • windows命令行工具

    2014-07-21 09:35:09
    windows命令行工具(转)[@more@] accwiz.exe > Accessibility Wizard for walking you through setting up your machine for your mobility needs. 辅助工具向导 acsetups.exe > ACS setup DCOM server...
  • 小白学编程-windows命令行和环境变量 初学着掌握以下基本够用 启动命令行(windows) Win + R 输入cmd即可打开命令行 切换盘符: 比如切换到D盘 D: 相对目录和绝对目录 相对目录指相对于当前的目录 绝对目录:带盘符...
  • windows命令行常用命令

    千次阅读 2015-10-16 07:46:49
    windows常用命令行命令 在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上...
  • Windows命令行

    2010-12-16 08:05:11
    winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 ...
  • windows命令行的使用

    2016-06-07 20:47:04
    在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用。  Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑。  为了方便...
  • Windows命令行基础

    2019-01-23 23:32:54
    而现在,微软的 Windows 操作系统已得到了广泛使用,我们处理日常事务也大多使用基于图形用户界面(GUI,Graphics User Interface)的应用程序,命令行正在逐渐被人们淡忘。但我们同时也看到,系统自带的命令行解释...
  • windows命令行基础

    千次阅读 2013-01-12 23:35:15
    命令行参考 A-Z :http://technet2.microsoft.com/WindowsServer/zh-CHS/Library/552ed70a-208d-48c4-8da8-2e27b530eac72052.mspx?mfr=true  Windows中有两种命令:内部命令和外部命令。内部命令即内置在命令行...
  • windows命令行快捷操作

    2018-03-30 09:42:45
    windows命令行快捷操作net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码"...
  • Windows 命令行切换目录 特别注意:切换到其它盘符不需要 cd 命令 1. 切换到 C 盘根目录 打开终端 cmd 后,输入cd C:\(一定要加上后面的反斜扛) 2.切换到 C 盘子目录 打开终端 cmd 后,输入cd C:\dir1(切换到 C ...
  • Windows命令行指令

    2012-11-04 00:25:19
    命令行窗口中输入的命令不区分大小写 有关某个命令的详细信息,请键入 HELP命令名 ASSOC 显示或修改文件扩展名关联。 AT 计划在计算机上运行的命令和程序。 ATTRIB 显示或更改文件属性。
  • 常用windows命令行

    2010-04-17 08:56:00
    常用windows命令行net use $">//ip/ipc$Content$nbsp;" " /user:" " 建立IPC空链接 net use $">//ip/ipc$Content$nbsp;"密码" /user:"用户名" 建立IPC非空链接 net use h: $">//ip/c$Content$nbsp;"密码" /...
  • Windows命令行工具

    2011-10-11 15:23:17
    winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscript windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,679
精华内容 6,271
关键字:

windows命令行修改盘符