zoukankan      html  css  js  c++  java
  • BAT脚本编写要点(1)_特殊字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    673
    674
    675
    676
    677
    678
    679
    680
    681
    682
    683
    684
    685
    686
    687
    688
    689
    690
    691
    692
    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    789
    790
    791
    792
    793
    794
    795
    796
    797
    798
    799
    800
    801
    802
    803
    804
    805
    806
    807
    808
    809
    810
    811
    812
    BAT脚本编写要点(1)_特殊字符
    分类: 其他 2011-03-20 00:58 5621人阅读 评论(0) 收藏 举报
    脚本cdatecmdtreesystem
    1. 点  
        与echo连用,作用是换行  
        示例1 [输出空行]  
        echo.  
       
       
    2 > 定向符[输出]  
       将命令的输出进行重定向 [一般用于将结果写入文件]  
       注意 nul 为空设备 >nul 则用于屏蔽输出内容 [如 pause>nul]  
       示例2 [向1.txt中写入字符串 wind]  
       echo wind>1.txt  
       
       
    3 >> 定向符[输出]  
       将命令的输出进行重定向   [一般用于将结果写入文件]  
       注意,定向到文件时,它是在末尾追加 > 则会覆盖  
       示例3 [向1.txt中追加写入字符串 wind]  
       echo wind>>1.txt  
       
       
    4 < 定向符[输入]  
       配合set /p 使用时,从指定的文件中获取字符串 赋值给变量  
       示例4 [将1.txt中第1行内容赋值给变量 wind]  
       set /p wind=<1.txt  
       
       
       
    5 & 连接符  
       连接两个命令  
       注意 不论前面的命令是否成功执行 后面的命令都将执行  
       示例5 [依次执行两个echo 命令]  
       echo wind& echo snow  
       
       
    6 && 连接符  
       连接两个命令  
       注意 仅当前面的命令成功执行时 后面的命令才会被执行  
       示例6 [echo 命令成功执行   type 命令也将被执行]  
       echo wind&& type 1.txt  
       示例7 [hello 命令执行失败   type 命令不会被执行]  
       hello&& type 1.txt  
       
       
    7 || 连接符  
       连接两个命令  
       注意 仅当前面的命令执行失败时 后面的命令才会被执行  
       示例8 [echo 命令成功执行   type 命令不会被执行]  
       echo wind|| type 1.txt  
       示例9 [hello 命令执行失败   type 命令将被执行]  
       hello|| type 1.txt  
       
       
    8 | 传递符  
        将前面命令的结果 传递给后面的命令使用 [一般用于查找]  
       示例10 [显示字符串wind 并 传递给find 查找 关键字 w]  
        echo wind| find "w" 
        2,6,7,8综合 示例11 [将字符串传递给find查找 并 输出查找结果]  
        echo wind| find "w">nul&& echo 找到字符w|| echo 未找到字符w  
       
       
    9 ^ 转义符 [脱字符]  
       脱去特殊符号的作用 使之成为一个纯粹的符号  
       示例12 [输出字符串 &&&&& ]  
       echo ^&^&^&^&^&  
       
       
       
    10 @ at  
        其作用相当于 echo off 不显示命令本身  
        不同之处是@仅处理单个命令 echo off则是全局的  
        示例13 [命令行不会显示]  
        @echo wind  
       
       
    11 % 百分号  
        两个百分号表示取值  
        示例14 [显示变量 wind 的值 smile]  
        set wind=smile  
        echo wind的值为 %wind%  
     注意,如果要输出一个百分号 则在批处理中要写成两个  
       
       
    12 * 星号   
        通配作用  
        示例15 [删除所有文本文件]  
        del *.txt
     
      
     
    1 echo 和 @
     
    回显控制命令
     
    @                    #关闭单行回显
     
    echo off             #从下一行开始关闭回显
     
    @echo off            #从本行开始关闭回显。一般批处理第一行都是这个
     
    echo on              #从下一行开始打开回显
     
    echo                 #显示当前是 echo off 状态还是 echo on 状态
     
    echo.                #输出一个"回车换行",一般就是指空白行
     
    echo hello world     #输出hello world
     
    "关闭回显"是指运行批处理文件时,不显示文件里的每条命令,只显示运行结果
     
    批处理开始和结束时,系统都会自动打开回显
     
    2 errorlevel
     
    程序返回码
     
    echo %errorlevel%
     
    每个命令运行结束,可以用这个命令行格式查看返回码
     
    用于判断刚才的命令是否执行成功
     
    默认值为0,一般命令执行出错会设 errorlevel 为1
     
    3 dir
     
    显示目录中的文件和子目录列表
     
    dir                 #显示当前目录中的文件和子目录
     
    dir /a              #显示当前目录中的文件和子目录,包括隐藏文件和系统文件
     
    dir c: /a:d         #显示 C 盘当前目录中的目录
     
    dir c:/ /a:-d       #显示 C 盘根目录中的文件
     
    dir d:/mp3 /b/p     #逐屏显示 d:/mp3 目录里的文件,只显示文件名,不显示时间和大小
     
    dir *.exe /s
     
    显示当前目录和子目录里所有的.exe文件
     
    其中 * 是通配符,代表所有的文件名,还一个通配符 ? 代表一个任意字母或汉字
     
    如 c*.* 代表以 c 开头的所有文件
     
    ?.exe 代表所有文件名是一个字母的.exe文件
     
    如果指定的目录或文件不存在,将返回 errorlevel 为1
     
    每个文件夹的 dir 输出都会有2个子目录 . 和 ..
     
    . 代表当前目录
     
    .. 代表当前目录的上级目录
     
    dir .               #显示当前目录中的文件和子目录
     
    dir ..              #显示当前目录的上级目录中的文件和子目录
     
    其它参数可参考 dir /?
     
    4 cd
     
    更改当前目录
     
    cd mp3              #进入当前目录中的mp3 目录
     
    cd ..               #进入当前目录中的上级目录
     
    cd/                 #进入根目录
     
    cd                  #显示当前目录
     
    cd /d d:/mp3        #可以同时更改盘符和目录
     
    cd/"Documents and Settings"/All users
     
    文件名带空格,可以不加引号
     
    建议加上引号,因为有的时候不加引号会运行出错,如登录脚本
     
    如果更改到的目录不存在,则出错返回 errorlevel=1
     
    5 md
     
    创建目录
     
    md abc              #在当前目录里建立子目录 abc
     
    md d:/a/b/c         #如果 d:/a 不存在,将会自动创建
     
    6 rd
     
    删除目录
     
    rd abc              #删除当前目录里的 abc 子目录,要求为空目录
     
    rd /s/q d:/temp     #删除 d:/temp 文件夹及其子文件夹和文件,不需要按 Y 确认
     
    7 del
     
    删除文件
     
    del d:/test.txt     #删除指定文件,不能是隐藏、系统、只读文件
     
    del *.*
     
    删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认
     
    del /q/a/f d:/temp/*.*
     
    删除 d:/temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
     
    del /q/a/f/s d:/temp/*.*
     
    删除 d:/temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
     
    8 ren
     
    文件重命名
     
    ren 1.txt 2.bak     #把 1.txt 更名为 2.bak
     
    ren *.txt *.ini     #把当前目录里所有.txt文件改成.ini文件
     
    ren d:/temp tmp     #支持对文件夹的重命名
     
    9 cls
     
    清屏
     
    10 type
     
    显示文件内容
     
    type c:/boot.ini    #显示指定文件的内容,程序文件一般会显示乱码
     
    type *.txt          #显示当前目录里所有.txt文件的内容
     
    11 copy
     
    拷贝文件
     
    copy c:/test.txt d:/
     
    复制 c:/test.txt 文件到 d:/
     
    copy c:/test.txt d:/test.bak
     
    复制 c:/test.txt 文件到 d:/ ,并重命名为 test.bak
     
    copy c:/*.*
     
    复制 c:/ 所有文件到当前目录,不包括隐藏文件和系统文件
     
    不指定目标路径,则默认目标路径为当前目录
     
    copy con test.txt
     
    从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件
     
    con代表屏幕,prn代表打印机,nul代表空设备
     
    copy 1.txt + 2.txt 3.txt
     
    合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
     
    如果不指定 3.txt ,则保存到 1.txt
     
    copy test.txt +
     
    复制文件到自己,实际上是修改了文件日期
     
    12 title
     
    设置cmd窗口的标题
     
    title 新标题        #可以看到cmd窗口的标题栏变了
     
    13 ver
     
    显示系统版本
     
    14 label 和 vol
     
    设置卷标
     
    vol                 #显示卷标
     
    label               #显示卷标,同时提示输入新卷标
     
    label c:system      #设置C盘的卷标为 system
     
    15 pause
     
    暂停命令
     
    运行该命令时,将显示下面的消息:
     
    请按任意键继续 . . .
     
    一般用于看清楚屏幕上显示的内容
     
    16 rem 和 ::
     
    注释命令
     
    注释行不执行操作
     
    17 date 和 time
     
    日期和时间
     
    date          #显示当前日期,并提示输入新日期,按"回车"略过输入
     
    date/t        #只显示当前日期,不提示输入新日期
     
    time          #显示当前时间,并提示输入新时间,按"回车"略过输入
     
    time/t        #只显示当前时间,不提示输入新时间
     
    18 goto 和 :
     
    跳转命令
     
    :label        #行首为:表示该行是标签行,标签行不执行操作
     
    goto label    #跳转到指定的标签那一行
     
    19 find (外部命令)
     
    查找命令
     
    find "abc" c:/test.txt
     
    在 c:/test.txt 文件里查找含 abc 字符串的行
     
    如果找不到,将设 errorlevel 返回码为1
     
    find /i "abc" c:/test.txt
     
    查找含 abc 的行,忽略大小写
     
    find /c "abc" c:/test.txt
     
    显示含 abc 的行的行数
     
    20 more (外部命令)
     
    逐屏显示
     
    more c:/test.txt    #逐屏显示 c:/test.txt 的文件内容
     
    21 tree
     
    显示目录结构
     
    tree d:/            #显示D盘的文件目录结构
     
    22 &
     
    顺序执行多条命令,而不管命令是否执行成功
     
    c: & cd/ & dir /w
     
    相当于把下面3行命令写到1行去了
     
    c:
     
    cd/
     
    dir /w
     
    23 &&
     
    顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
     
    f: && cd/ && dir >c:/test.txt
     
    注意如果f盘不存在,那么后面2条命令将不会执行
     
    find "ok" c:/test.txt && echo 成功
     
    如果找到了"ok"字样,就显示"成功",找不到就不显示
     
    24 ||
     
    顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
     
    f: || e:
     
    如果有f盘就不进入e盘
     
    find "ok" c:/test.txt || echo 不成功
     
    如果找不到"ok"字样,就显示"不成功",找到了就不显示
     
    25 |
     
    管道命令
     
    前一个命令的执行结果输出到后一个命令
     
    dir *.* /s/a | find /c ".exe"
     
    管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令
     
    该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数
     
    type c:/test.txt|more
     
    这个和 more c:/test.txt 的效果是一样的
     
    26 > 和 >>
     
    输出重定向命令
     
    > 清除文件中原有的内容后再写入
     
    >> 追加内容到文件末尾,而不会清除原有的内容
     
    主要将本来显示在屏幕上的内容输出到指定文件中
     
    指定文件如果不存在,则自动生成该文件
     
    echo hello world>c:/test.txt
     
    生成c:/test.txt文件,内容为hello world
     
    这个格式在批处理文件里用得很多,可以生成 .reg .bat .vbs 等临时文件
     
    type c:/test.txt >prn
     
    屏幕上不显示文件内容,转向输出到打印机
     
    echo hello world>con
     
    在屏幕上显示hello world,实际上所有输出都是默认 >con 的
     
    copy c:/test.txt f: >nul
     
    拷贝文件,并且不显示"文件复制成功"的提示信息,但如果f盘不存在,还是会显示出错信息
     
    copy c:/test.txt f: >nul 2>nul
     
    不显示"文件复制成功"的提示信息,并且f盘不存在的话,也不显示错误提示信息
     
    echo ^^W ^> ^W>c:/test.txt
     
    生成的文件内容为 ^W > W
     
    ^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号
     
    27 <
     
    从文件中获得输入信息,而不是从屏幕上
     
    一般用于 date time label 等需要等待输入的命令
     
    @echo off
     
    echo 2005-05-01>temp.txt
     
    date <temp.txt del="" temp.txt="" 这样就可以不等待输入直接修改当前日期="" 28="" %0="" %1="" %2="" %3="" %4="" %5="" %6="" %7="" %8="" %9="" %*="" 命令行传递给批处理的参数="" 批处理文件本身="" 第一个参数="" 第九个参数="" 从第一个参数开始的所有参数="" 在c盘根目录新建test.bat,内容如下:="" @echo="" off="" echo="" 运行cmd,输入="" c:="" test.bat="" "="" a"="" b="" c="" d="" 可以看出每个参数的含意="" 修改test.bat内容如下="" %~1="" %~f0="" %~d0="" %~p0="" %~n0="" %~x0="" %~s0="" %~a0="" %~t0="" %~z0="" 再运行cmd,输入="" 可以参照="" call="" ?="" 或="" for="" 看出每个参数的含意="" 注意这里可以对文件进行日期比较和大小比较="" load="" "%%1"="" "%%2"="">c:/test.txt
     
    生成的文件内容为 load "%1" "%2"
     
    批处理文件里,用这个格式把命令行参数输出到文件
     
    29 if
     
    判断命令
     
    if "%1"=="/a" echo 第一个参数是/a
     
    if /i "%1" equ "/a" echo 第一个参数是/a
     
    /i 表示不区分大小写,equ 和 == 是一样的,其它运算符参见 if/?
     
    if exist c:/test.bat echo 存在c:/test.bat文件
     
    if not exist c:/windows (
     
        echo 不存在c:/windows文件夹
     
        rem 有多条命令可用小括号括起来,称为"复合语句"
     
        rem 行前的空格是为了看起来条理清楚
     
        )
     
    if exist c:/test.bat (
     
        echo 存在c:/test.bat
     
        else (
     
        echo 不存在c:/test.bat
     
        rem else表示"否则",判断结果为假时执行其后的命令
     
        )
     
    30 应用程序用start调用出错的,也可以call调用
     
    34 choice (外部命令)
     
    选择命令
     
    让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel为1234……
     
    win98里是choice.com
     
    win2000pro里没有,可以从win98里拷过来
     
    win2003里是choice.exe
     
    choice /N /C y /T 5 /D y>nul
     
    延时5秒
     
    下面是个 choice 语句的例子
     
    @echo off
     
    rem 以下在win2000pro运行通过,从win98里拷的chioce.com文件
     
    choice /c:abc aaa,bbb,ccc
     
    if errorlevel 3 goto ccc
     
    if %errorlevel%==2 goto bbb
     
    if errorlevel==1 goto aaa
     
    rem 必须先判断数值高的返回码
     
    rem 可以看到 errorlevel 值的判断有3种写法,有时某种写法不好用,可以用另外的写法
     
    rem 直接运行chioce相当于运行choice /c:yn
     
    :aaa
     
    echo aaa
     
    goto end
     
    :bbb
     
    echo bbb
     
    goto end
     
    :ccc
     
    echo ccc
     
    goto end
     
    :end
     
    35 assoc 和 ftype
     
    文件关联
     
    assoc 设置'文件扩展名'关联,关联到'文件类型'
     
    ftype 设置'文件类型'关联,关联到'执行程序和参数'
     
    当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开
     
    而是先判断.txt属于 txtfile '文件类型'
     
    再调用 txtfile 关联的命令行 txtfile=%SystemRoot%/system32/NOTEPAD.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
     
    32 subst (外部命令)
     
    映射磁盘。
     
    subst z://server/d     #这样输入z:就可以访问//server/d了
     
    subst z: /d             #取消该映射
     
    subst                   #显示目前所有的映时
     
    38  xcopy (外部命令)
     
    文件拷贝
     
    xcopy d:/mp3 e:/mp3 /s/e/i/y
     
    复制 d:/mp3 文件夹、所有子文件夹和文件到 e:/ ,覆盖已有文件
     
    加 /i 表示如果 e:/ 没有 mp3 文件夹就自动新建一个,否则会有询问
     
    39 一些不常用的内部命令
     
    >& 将一个句柄的输出写入到另一个句柄的输入中
     
    <& 从一个句柄读取输入并将其写入到另一个句柄输出中
     
    shift 命令行传递给批处理的参数不止9个时,用以切换参数
     
    color 设置cmd窗口的显示颜色
     
    pormpt 更改命令提示符号,默认都是 盘符:/路径/> ,如 c:/>
     
    40 format (外部命令)
     
    格式化硬盘
     
    format c: /q/u/autotest
     
    /q表示快速格式化,/autotest表示自动格式化,不需要按 Y 确认
     
    /u表示每字节用 F6 覆盖硬盘数据,使其不可用软件恢复
     
    format c: /c
     
    格式化C盘,并检测坏道
     
    41 fdisk (外部命令)
     
    硬盘分区
     
    win2000不带该命令
     
    win98里的fdisk不支持80G以上大硬盘,winme里的支持
     
    fdisk/mbr
     
    重建硬盘分区表,一般用于清除引导区病毒、还原精灵
     
    注意使用该命令不能从硬盘启动,必须软驱或光驱启动后直接运行
     
    42 ping (外部命令)
     
    ping -l 65500 -t 192.168.1.200
     
    不停的向192.168.1.200计算机发送大小为65500byte的数据包
     
    ping -n 10 127.0.0.1>nul
     
    ping自己10次,可用于批处理延时10秒
     
    43 SC (外部命令)
     
    服务控制命令
     
    sc create aaa displayname= bbb start= auto binpath= "C:/WINDOWS/System32/alg.exe"
     
    创建服务,服务名称aaa,显示名称bbb,启动类型:自动
     
    可执行文件的路径"C:/WINDOWS/System32/alg.exe"
     
    sc descrīption aaa "ccc"
     
    更改aaa的描述为ccc
     
    sc config aaa start= disabled binpath= "C:/WINDOWS/System32/svchost.exe -k netsvcs"
     
    更改aaa的启动类型:已禁用
     
    更改aaa的可执行文件的路径"C:/WINDOWS/System32/svchost.exe -k netsvcs"
     
    sc config aaa start= demand displayname= ddd
     
    更改aaa的启动类型:手动
     
    更改aaa的显示名称ddd
     
    sc start aaa
     
    启动aaa服务
     
    sc stop aaa
     
    停止aaa服务
     
    sc delete aaa
     
    删除aaa服务
    </temp.txt>

    转:http://www.cnblogs.com/wzhanke/p/4320591.html

  • 相关阅读:
    Centos7 禁止firewalld并使用iptables 作默认防火墙
    在Kibana上格式化字段,更好的在dashboard上展示
    利用 ELK系统分析Nginx日志并对数据进行可视化展示
    Nginx 服务器开启status页面检测服务状态
    Linux 上通过binlog文件 恢复mysql 数据库详细步骤
    Linux 为FTP 服务器添加iptables规则--案例分析
    NUMA架构的CPU -- 你真的用好了么?
    Linux 上利用Nginx代理uWSGI处理Flask web应用
    Linux 之不同运维人员共用root 账户权限审计
    Strategy
  • 原文地址:https://www.cnblogs.com/tmlee/p/6438546.html
Copyright © 2011-2022 走看看